我目前有一个'博客'应用,根据用户名显示不同用户的博客帖子。这就是我的urls.py看起来的样子。
urlpatterns = patterns('blog.views',
url(r'^(?P<blog_author>[^/]+)/$', 'entries', name='blog'),
url(r'^(?P<blog_author>[^/]+)/(?P<entry_slug>[^/]+)/$', 'blog_entry', name='blog_entry'),
)
因此,blog/authorname/
将列出该特定作者的所有博客文章条目,而blog/authorname/foo-post/
将呈现特定博客文章。我要做的是永久地将校友成员的博客重定向到blog/alumni/authorname
和blog/alumni/authorname/foo-post/
。我在我的用户模型中添加了一个字段,用于指示用户是否是校友。
普通用户和校友的观点功能基本相同。这是我到目前为止一直在尝试做的事情:在entries
视图函数中,我添加了一些可以检查校友成员的行。如果某个博客作者是校友,则会HttpResponsePermanentRedirect
到blogs/alumni/alumni_author/
,并且由于渲染部分相同,因此请调用相同的entries
视图功能。基本上,我的entries
函数正在尝试检查成员类型,为普通成员和校友成员提供视图。
答案 0 :(得分:7)
您可以使用可选的第三个参数将urlconf中的标志发送到视图:
url(r'^alumni/(?P<blog_author>[^/]+)/$', 'entries', {'alumni': True}, name='blog'),