我目前有一个“博客”应用程序,它会根据用户名显示不同用户的博文。这就是我的 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
View 函数中,我添加了一些行来检查校友成员。如果某个博客作者是校友,将 HttpResponsePermanentRedirect
到 blogs/alumni/alumni_author/
由于渲染部分相同,因此调用相同的 entries
查看功能。所以基本上,我的 entries
函数正在尝试执行检查成员类型、为普通成员和校友成员呈现 View 。
最佳答案
您可以使用可选的第三个参数将标志从 urlconf 发送到 View :
url(r'^alumni/(?P<blog_author>[^/]+)/$', 'entries', {'alumni': True}, name='blog'),
关于django - 将变量(标志)从 urls.py 传递到 django 中的 views.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7792632/