django.core.urlresolver.reverse - NoReverseMatch:“...”的反向参数“()”和关键字参数“”未找到

Posted

技术标签:

【中文标题】django.core.urlresolver.reverse - NoReverseMatch:“...”的反向参数“()”和关键字参数“”未找到【英文标题】:django.core.urlresolver.reverse - NoReverseMatch: Reverse for '...' with arguments '()' and keyword arguments '' not founddjango.core.urlresolver.reverse - NoReverseMatch:“...”的反向参数“()”和关键字参数“”未找到 【发布时间】:2013-12-22 06:36:43 【问题描述】:

我在视图中的 url 解析有问题:

# 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() 方法中定义的 url 的管理员中。我试图在互联网上搜索任何合适的解决方案,但没有一个对我有用。 有什么帮助吗?

谢谢 L.

【问题讨论】:

尝试去掉头斜线? 【参考方案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 is deprecated;改用 django.conf.urls 弃用警告) 3.from django.core.urlresolvers import reverse注意urlresolvers末尾的's' 4. 可以改用reverse_lazy

【讨论】:

以上是关于django.core.urlresolver.reverse - NoReverseMatch:“...”的反向参数“()”和关键字参数“”未找到的主要内容,如果未能解决你的问题,请参考以下文章