diff options
author | luxagraf <sng@luxagraf.net> | 2015-07-21 11:25:38 -0400 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2015-07-21 11:25:38 -0400 |
commit | d17b1b5b59fb3232b849a10a03efa16a6f98acb1 (patch) | |
tree | d34ebf957c5767bce995ebb05939db12c2459371 /app | |
parent | d964debb5a3e0814c1b3249bcc4616742e85bae5 (diff) |
fixed date based archives
Diffstat (limited to 'app')
-rw-r--r-- | app/blog/urls.py | 4 | ||||
-rw-r--r-- | app/blog/views.py | 18 | ||||
-rw-r--r-- | app/builder/base.py | 5 |
3 files changed, 22 insertions, 5 deletions
diff --git a/app/blog/urls.py b/app/blog/urls.py index f792527..eb69873 100644 --- a/app/blog/urls.py +++ b/app/blog/urls.py @@ -12,8 +12,8 @@ urlpatterns = patterns('', urlpatterns = patterns('', url(r'(?P<year>\d{4})/(?P<month>\d{2})/(?P<slug>[-\w]+)$', 'blog.views.entry_detail'), - #url(r'(?P<year>\d{4})/(?P<month>\d{2})/$', 'blog.views.date_list', name="blog_by_month"), - #url(r'(?P<year>\d{4})/$', 'blog.views.date_list', name="blog_by_year"), + url(r'(?P<year>\d{4})/(?P<month>\d{2})/$', 'blog.views.date_list', name="blog_by_month"), + url(r'(?P<year>\d{4})/$', 'blog.views.date_list', name="blog_by_year"), (r'(?P<slug>[-\w]+)/(?P<page>\d+)/$', 'blog.views.entry_list_by_area'), (r'(?P<page>\d+)/$', 'blog.views.entry_list'), url(r'(?P<slug>[-\w]+)/$', RedirectView.as_view(url="/jrnl/%(slug)s/1/")), diff --git a/app/blog/views.py b/app/blog/views.py index be04e6c..c360ef3 100644 --- a/app/blog/views.py +++ b/app/blog/views.py @@ -45,6 +45,24 @@ class BlogEntryListView(ListView): """ +def date_list(request, year, month=None): + import datetime + if month: + month_name = datetime.datetime.strptime(month,'%m').strftime('%B') + context = { + 'object_list': Entry.objects.filter(status__exact=1, pub_date__year=year, pub_date__month=month).order_by('pub_date'), + 'type': 'monthly', + 'year': year, + 'month': month_name + } + else: + context = { + 'object_list': Entry.objects.filter(status__exact=1, pub_date__year=year).order_by('-pub_date'), + 'type': 'year', + 'year': year, + } + return render_to_response("archives/writing_date.html", context, context_instance=RequestContext(request)) + def entry_list(request, page): request.page_url = '/jrnl/%d/' diff --git a/app/builder/base.py b/app/builder/base.py index 2db5cb3..12d4f68 100644 --- a/app/builder/base.py +++ b/app/builder/base.py @@ -132,9 +132,8 @@ class BuildWriting(Build): month_name = m.strftime('%b') month_full_name = m.strftime('%B') qs = entry.objects.filter(status__exact=1, pub_date__year=year, - pub_date__month=month).order_by('-pub_date') - c = Context({'type': 'monthly', 'date': '%s %s' % ( - month_full_name, year), 'object_list': qs, }) + pub_date__month=month).order_by('pub_date') + c = Context({'type': 'monthly', 'year': year, 'month': month_full_name, 'object_list': qs, }) t = render_to_string('archives/writing_date.html', c).encode('utf-8') fpath = 'jrnl/%s/%s/' % (year, month) self.write_file(fpath, t) |