django.core.urlresolver.reverse - NoReverseMatch:反向'...',参数'()'和关键字参数'{}'未找到

时间:2013-12-05 10:51:47

标签: python django django-views django-urls django-cms

我在视图中遇到网址解析问题:

# URLS.PY
from django.conf.urls.defaults import url, include, patterns
from acomea.contact.cms.views import (
    ConfirmPrivacyFormView, CancelContactTemplateView, ConfirmPrivacyDataTemplateView, CancelMailSentTemplateView
)
urlpatterns = patterns('',
    url(
       r'^',
       ConfirmPrivacyFormView.as_view(),
       name="contact_contact_confirm_privacy_form"
    ),
    url(
       r'^/data-confirmed/$',
       ConfirmPrivacyDataTemplateView.as_view(),
       name="contact_contact_confirm_privacy_accept_data"
    ),
    url(
       r'^/mailsent/',
       CancelMailSentTemplateView.as_view(),
       name="contact_contact_confirm_privacy_delete_mailsent"
    ),
    url(
       r'^/remove-contact/',
       CancelContactTemplateView.as_view(),
       name="contact_contact_confirm_privacy_delete_contact"
    ),
)


# resolve

>>>from django.core.urlresolver import reverse
>>>reverse("contact_contact_confirm_privacy_accept_data")
NoReverseMatch: Reverse for 'contact_contact_confirm_privacy_accept_data' with arguments '()' and keyword arguments '{}' not found.

我在其他时间遇到过此问题,也在管理员中使用get_urls()方法中定义的网址。我试图在互联网上搜索任何合适的解决方案,但没有一个对我不起作用。 有什么帮助吗?

由于 升。

1 个答案:

答案 0 :(得分:1)

尝试:
1.将$添加到r'^/mailsent/$'之类的网址 2.从django.conf.urls import patterns, include, url使用而不是: D:\ Program Files(x86)\ python273 \ lib \ site-packages \ django \ conf \ urls \ defaults.py:3:DeprecationWarning:不推荐使用django.conf.urls.defaults;用django.conf.urls代替   弃用警告)
3. from django.core.urlresolvers import reverse注意urlresolvers结束时的's' 4.您可以使用reverse_lazy代替