diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/blog/admin.py | 10 | ||||
-rw-r--r-- | app/blog/models.py | 7 | ||||
-rw-r--r-- | app/blog/views.py | 8 |
3 files changed, 18 insertions, 7 deletions
diff --git a/app/blog/admin.py b/app/blog/admin.py index 7124b1d..de6a838 100644 --- a/app/blog/admin.py +++ b/app/blog/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin from django import forms from blog.widgets import AdminImageWidget from django.contrib.gis.admin import OSMGeoAdmin -from .models import Entry, EntryAside, PostImage +from .models import Entry, EntryAside, PostImage, HomepageCurrator class EntryAsideInline(admin.TabularInline): @@ -33,7 +33,7 @@ class EntryAdmin(OSMGeoAdmin): field = super(EntryAdmin, self).formfield_for_dbfield(db_field, **kwargs) return field - list_display = ('title', 'pub_date', 'home_page_banner', 'template_name', 'status', 'region', 'location', 'photo_gallery') + list_display = ('title', 'pub_date', 'template_name', 'status', 'region', 'location', 'photo_gallery') search_fields = ['title', 'body_markdown'] prepopulated_fields = {"slug": ('title',)} list_filter = ('pub_date', 'enable_comments', 'status', 'location__state__country__lux_region') @@ -59,7 +59,6 @@ class EntryAdmin(OSMGeoAdmin): 'meta_description', ('image', 'thumbnail'), 'template_name', - 'home_page_banner' ), }), ) @@ -78,7 +77,12 @@ class EntryAdmin(OSMGeoAdmin): class PostImageAdmin(admin.ModelAdmin): list_display = ('title', 'post_image') +class HomepageCurratorAdmin(admin.ModelAdmin): + pass + admin.site.register(PostImage, PostImageAdmin) admin.site.register(EntryAside, EntryAsideAdmin) admin.site.register(Entry, EntryAdmin) +admin.site.register(HomepageCurrator, HomepageCurratorAdmin) + diff --git a/app/blog/models.py b/app/blog/models.py index 8ab28b6..4ff1935 100644 --- a/app/blog/models.py +++ b/app/blog/models.py @@ -69,7 +69,6 @@ class Entry(models.Model): (5, 'bigimg-dark'), ) template_name = models.IntegerField(choices=TEMPLATES, default=0) - home_page_banner = models.BooleanField(default=False) class Meta: ordering = ('-pub_date',) @@ -157,6 +156,12 @@ class EntryAside(models.Model): body = models.TextField(null=True, blank=True) entry = models.ForeignKey(Entry) +class HomepageCurrator(models.Model): + banner = models.ForeignKey(Entry, related_name="banner") + entry_list = models.ManyToManyField(Entry) + template_name = models.CharField(max_length=200,help_text="full path") + + class BlogSitemap(Sitemap): changefreq = "never" diff --git a/app/blog/views.py b/app/blog/views.py index 93d7488..0e887bd 100644 --- a/app/blog/views.py +++ b/app/blog/views.py @@ -4,16 +4,18 @@ from django.http import Http404 from django.conf import settings # from django.views.generic import ListView -from blog.models import Entry +from blog.models import Entry, HomepageCurrator from locations.models import Region, Country from photos.models import Photo def home(request): + obj = HomepageCurrator.objects.get(pk=1) + template = obj.template_name context = { - 'object_list': Entry.objects.filter(status__exact=1,home_page_banner=1).select_related()[:4], + 'homepage': obj, } - return render_to_response('archives/homepage.html', context, context_instance=RequestContext(request)) + return render_to_response(template, context, context_instance=RequestContext(request)) def entry_detail(request, year, month, slug): |