我在视图中遇到网址解析问题:
# 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()
方法中定义的网址。我试图在互联网上搜索任何合适的解决方案,但没有一个对我不起作用。
有什么帮助吗?
由于 升。
答案 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代替