diff --git a/entries/kinds.py b/entries/kinds.py index a5d0407..454560e 100644 --- a/entries/kinds.py +++ b/entries/kinds.py @@ -37,7 +37,12 @@ Article = Entry( fields=('slug', 'name'), ) +Photo = Entry( + id='photo', + icon='fa fa-camera', + plural='photos', +) -all = (Note, Article) +all = (Note, Article, Photo) from_id = {k.id: k for k in all} from_plural = {k.plural: k for k in all} diff --git a/entries/migrations/0005_auto_20171027_1557.py b/entries/migrations/0005_auto_20171027_1557.py new file mode 100644 index 0000000..85ec86b --- /dev/null +++ b/entries/migrations/0005_auto_20171027_1557.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-10-27 04:57 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('entries', '0004_auto_20171027_0846'), + ] + + operations = [ + migrations.AddField( + model_name='entry', + name='photo', + field=models.ImageField(blank=True, upload_to=''), + ), + migrations.AlterField( + model_name='entry', + name='kind', + field=models.CharField(choices=[('note', 'note'), ('article', 'article'), ('photo', 'photo')], db_index=True, default='note', max_length=30), + ), + ] diff --git a/entries/models.py b/entries/models.py index 87e39b7..be56f05 100644 --- a/entries/models.py +++ b/entries/models.py @@ -26,6 +26,7 @@ class Entry(ModelMeta, models.Model): ) name = models.CharField(max_length=100, blank=True) + photo = models.ImageField(blank=True) content = models.TextField() author = models.ForeignKey( @@ -54,7 +55,7 @@ class Entry(ModelMeta, models.Model): @property def image_url(self): - return self.author.avatar_url + return self.photo.url if self.photo else self.author.avatar_url def __str__(self): return '{kind} {id}: {content}'.format( diff --git a/entries/templates/entries/h-entry.html b/entries/templates/entries/h-entry.html index bb64a46..c46b121 100644 --- a/entries/templates/entries/h-entry.html +++ b/entries/templates/entries/h-entry.html @@ -1,4 +1,5 @@ {% load humanize markdown %}
+ {% if entry.photo %}{% endif %}
{% if entry.name %}

{{ entry.name }}

{% endif %}
{{ entry.content | markdown }}