django - 将变量(标志)从 urls.py 传递到 django 中的 views.py

标签 django redirect django-views django-urls

我目前有一个“博客”应用程序,它会根据用户名显示不同用户的博文。这就是我的 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/authornameblog/alumni/authorname/foo-post/。我在我的用户模型中添加了一个字段,它将指示用户是否是校友。

普通用户和校友的观点功能基本相同。到目前为止,这是我一直在尝试做的事情:在 entries View 函数中,我添加了一些行来检查校友成员。如果某个博客作者是校友,将 HttpResponsePermanentRedirectblogs/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/

相关文章:

python - 如何将条件重定向添加到 Pyramid 中的每个 View ?

python - 如何在 Django 中预加载 Python 库?

python - Django 相当于 MySQL 中的 SELECT * GROUP BY

django - 将 Django 表单 Assets (媒体类)与清晰表单一起使用时,页面中不包含 .js 文件

c# - 使用c#登录后重定向到索引页面

asp.net - 在 Page_Error 上将用户重定向到另一个页面

python - 我可以在一个月中的某一天进行 order_by 吗?

python - Django Formset错误 'JournalVoucherEnteryForm'对象没有属性 'instance'

python - Django:禁止(CSRF token 丢失或不正确。)

django - 使用 CreateAPIView 检查对象权限