Django反向url与参数到基于类的视图

use*_*498 8 python django hyperlink django-class-based-views

我刚开始学习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()),
Run Code Online (Sandbox Code Playgroud)

这是我的链接:

{% url rtr_contact.views.ContactView contact.id %}
Run Code Online (Sandbox Code Playgroud)

但这不起作用它说:

Caught NoReverseMatch while rendering: Reverse for 'rtr_contact.views.ContactView' with arguments '(20L,)' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)

Ala*_*air 17

为了使网址翻转变得容易,我建议您始终为网址模式命名.

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"),
Run Code Online (Sandbox Code Playgroud)

然后在模板中:

{% url contact_view contact.id %}
Run Code Online (Sandbox Code Playgroud)

  • 我认为总的来说,Django文档很棒.关于基于类的视图的部分有点裸露,但希望将来能够充实. (2认同)
  • 这是未来,而基于类的通用视图文档仍然缺乏.谢谢你的回答 - 它也帮助了我. (2认同)