所以我得到了以下应用程序,它应该类似于多用户博客,只需为每个作者提供视图。
除了帖子的绝对网址外,一切正常。 (我想保持简单 - 不需要使用发布/草稿等。)
这是我的代码:
models.py: http://pastebin.com/pT91DUdZ
@permalink
def get_absolute_url(self):
return ('blog_detail', None, {
'year': self.created.year,
'month': self.created.strftime('%b').lower(),
'day': self.created.day,
'slug': self.slug
})
views.py: http://pastebin.com/FTb0s97u
def post_list(request, page=0, paginate_by=20, username=None, **kwargs):
author = None
if username is not None:
author = get_object_or_404(User, username=username)
return list_detail.object_list(
request,
queryset=author.post_set.created(),
extra_context = {'author' : author},
paginate_by=paginate_by,
page=page,
**kwargs
)
urls.py: http://pastebin.com/Nv2SRbhe
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('userblog.views',
url(r'^(?P<username>.*)/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$',
view='post_detail',
name='blog_detail'
),
url(r'^(?P<username>.*)/(?P<page>\d+)/$',
view='post_list',
name='blog_index_paginated'
),
url(r'^(?P<username>.*)/$',
view='post_list',
name='blog_index'
),
谢谢你看一下:)
编辑: 我现在做了以下事情。我知道这很难看,但我无法弄清楚如何正确地做到这一点!
def get_absolute_url(self):
return '/blogs/%s/%s/%s/%s/%s/' % (self.author.username, self.created.year, self.created.strftime('%b').lower(), self.created.day, self.slug)
答案 0 :(得分:0)
您的blog_detail
网址模式正在等待用户名购买而您没有通过。