Обратный URL Django с параметрами для представления на основе классов - PullRequest
8 голосов
/ 21 декабря 2011

Я только начал изучать 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.

1 Ответ

17 голосов
/ 21 декабря 2011

Чтобы упростить изменение URL-адреса, я рекомендую всегда называть шаблоны URL-адресов .

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 %}
...