带有参数的 Django 反向 url 到基于类的视图
Posted
技术标签:
【中文标题】带有参数的 Django 反向 url 到基于类的视图【英文标题】:Django reverse url with parameters to a class based view 【发布时间】:2012-01-25 04:31:10 【问题描述】:我刚开始学习 python 和 django,我有一个问题。 我得到了将功能视图转换为基于类的视图的任务。但是我的链接现在不起作用了。
这些来自 urls.py:
url(r'^$', ContactIndex.as_view()),
url(r'^add$', ContactAdd.as_view()),
url(r'^([0-9]+)/update$', ContactUpdate.as_view()),
url(r'^([0-9]+)/view$', ContactView.as_view()),
这是我的链接:
% url rtr_contact.views.ContactView contact.id %
但这不起作用它说:
Caught NoReverseMatch while rendering: Reverse for 'rtr_contact.views.ContactView' with arguments '(20L,)' and keyword arguments '' not found.
【问题讨论】:
你应该在你的 url 格式后面加上一个斜杠。它是 Django 中的一个标准,它也使其他程序更容易使用它(无需深入细节......) 【参考方案1】:为了方便 url 反转,我建议您始终使用name your url patterns。
url(r'^$', ContactIndex.as_view(), name="contact_index"),
url(r'^add$', ContactAdd.as_view(), name="contact_add"),
url(r'^([0-9]+)/update$', ContactUpdate.as_view(), name="contact_update"),
url(r'^([0-9]+)/view$', ContactView.as_view(), name="contact_view"),
然后在模板中:
% url contact_view contact.id %
【讨论】:
谢谢,它成功了。我希望 django 的文档更容易。 我认为总的来说,Django 文档非常好。基于类的视图部分有点空洞,但希望将来会充实。 这是未来,基于类的通用视图文档仍然缺乏。感谢您的回答 - 它也帮助了我。以上是关于带有参数的 Django 反向 url 到基于类的视图的主要内容,如果未能解决你的问题,请参考以下文章
Django 基于类的视图上的 success_url 的反向抱怨循环导入
如何在 django 的 ajax url 中传递 kwargs?未找到带有参数 '('',)' 的 '' 的反向操作。尝试了 1 种模式:['partners/analytics/(?P<id