Skip to main content
 首页 » 编程设计

python之django.core.urlresolver.reverse之NoReverseMatch : Reverse for '...' with arguments '()' and keyword arguments '{}' not found

2025年05月04日21mq0036

我在 View 中遇到 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。我试图在互联网上搜索任何合适的解决方案,但没有一个对我有用。 有帮助吗?

谢谢

请您参考如下方法:

尝试:
1. 将 $ 添加到 url,如 r'^/mailsent/$'
2. 使用 from 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相反