diff options
author | Markus Zapke-Grùˆndemann <info@keimlink.de> | 2011-12-30 03:57:10 +0100 |
---|---|---|
committer | Markus Zapke-Grùˆndemann <info@keimlink.de> | 2011-12-30 03:57:10 +0100 |
commit | 1347410c5125775f8b84bff0d12086158c39bea0 (patch) | |
tree | 521fb037c2a18cfb2c59490a6b96defa1d027c8b /sublab_project/news | |
parent | 8d7103f5d53c31f40bf6725a2923046e664eca57 (diff) |
Added image for news posts.
Diffstat (limited to 'sublab_project/news')
4 files changed, 113 insertions, 3 deletions
diff --git a/sublab_project/news/migrations/0002_auto__add_field_news_image__add_field_news_image_height__add_field_new.py b/sublab_project/news/migrations/0002_auto__add_field_news_image__add_field_news_image_height__add_field_new.py new file mode 100644 index 0000000..c9a6744 --- /dev/null +++ b/sublab_project/news/migrations/0002_auto__add_field_news_image__add_field_news_image_height__add_field_new.py @@ -0,0 +1,100 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding field 'News.image' + db.add_column('news_news', 'image', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True), keep_default=False) + + # Adding field 'News.image_height' + db.add_column('news_news', 'image_height', self.gf('django.db.models.fields.IntegerField')(default=0), keep_default=False) + + # Adding field 'News.image_width' + db.add_column('news_news', 'image_width', self.gf('django.db.models.fields.IntegerField')(default=0), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'News.image' + db.delete_column('news_news', 'image') + + # Deleting field 'News.image_height' + db.delete_column('news_news', 'image_height') + + # Deleting field 'News.image_width' + db.delete_column('news_news', 'image_width') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'news.news': { + 'Meta': {'ordering': "['-date_updated']", 'object_name': 'News'}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_html': ('django.db.models.fields.TextField', [], {}), + 'date_created': ('django.db.models.fields.DateTimeField', [], {}), + 'date_updated': ('django.db.models.fields.DateTimeField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), + 'image_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'image_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'projects': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'news'", 'blank': 'True', 'to': "orm['projects.Project']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'projects.project': { + 'Meta': {'ordering': "['name']", 'object_name': 'Project'}, + 'contact_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'contact_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), + 'contact_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'date_created': ('django.db.models.fields.DateTimeField', [], {}), + 'date_updated': ('django.db.models.fields.DateTimeField', [], {}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'description_html': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}) + } + } + + complete_apps = ['news'] diff --git a/sublab_project/news/models.py b/sublab_project/news/models.py index cd98248..385dc79 100644 --- a/sublab_project/news/models.py +++ b/sublab_project/news/models.py @@ -18,11 +18,15 @@ class News(models.Model): projects = models.ManyToManyField(Project, blank=True, related_name='news', verbose_name='Projekte') author = models.ForeignKey(User, editable=False, verbose_name='Autor') + image = models.ImageField('Bild', upload_to='news', + height_field='image_height', width_field='image_width', blank=True) + image_height = models.IntegerField(default=0, editable=False) + image_width = models.IntegerField(default=0, editable=False) date_created = models.DateTimeField('Erstellungsdatum', editable=False) date_updated = models.DateTimeField('Aktualisierungsdatum', editable=False) class Meta: - ordering = ['date_updated'] + ordering = ['-date_created'] verbose_name = 'News' verbose_name_plural = 'News' diff --git a/sublab_project/news/templates/news/news_detail.html b/sublab_project/news/templates/news/news_detail.html index e3a0de1..49d2b7a 100644 --- a/sublab_project/news/templates/news/news_detail.html +++ b/sublab_project/news/templates/news/news_detail.html @@ -5,6 +5,9 @@ {% block content %} <p class="news_date">{{ object.date_updated|date:"DATETIME_FORMAT" }}</p> <h2 id="{{ object.slug }}">{{ object.title }}</h3> - <p>{{ object.content_html|safe }}</p> + <p> + {% if object.image %}<img src="{{ MEDIA_URL }}{{ object.image }}" width="{{ object.image_width }}" height="{{ object.image_height }}" align="right" />{% endif %} + {{ object.content_html|safe }} + </p> <p class="header">{{ object.author }}</p> {% endblock content %} diff --git a/sublab_project/news/templates/news/news_list.html b/sublab_project/news/templates/news/news_list.html index ea46320..52ded72 100644 --- a/sublab_project/news/templates/news/news_list.html +++ b/sublab_project/news/templates/news/news_list.html @@ -6,7 +6,10 @@ <h3 id="{{ post.slug }}"> <a href="{{ post.get_absolute_url }}">{{ post.date_updated|date }} - {{ post.title }}</a> </h3> - <p>{{ post.content_html|safe }}</p> + <p> + {% if post.image %}<img src="{{ MEDIA_URL }}{{ post.image }}" width="{{ post.image_width }}" height="{{ post.image_height }}" align="right" />{% endif %} + {{ post.content_html|safe }} + </p> {% endfor %} {% if is_paginated %} <p> |