8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

什么是 NoReverseMatch 错误?如何修复它?

ryandra 2月前

64 0

我有一些代码,当它执行时,它会抛出一个 NoReverseMatch,说:在 /my_url/ Reverse for 'my_url_name' 中未找到带有参数 '()' 和关键字参数 '{}' 的 NoReverseMatch。n 模式...

我有一些代码,当它执行时,它会抛出一个NoReverseMatch,说:

/my_url/ 处的 NoReverseMatch 未找到带有参数 '()' 和关键字参数 '{}' 的 'my_url_name' 反向。已尝试 n 种模式:[]

这意味着什么?我该怎么办?

帖子版权声明 1、本帖标题:什么是 NoReverseMatch 错误?如何修复它?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由ryandra在本站《django》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 错误 NoReverseMatch 表明 Django 无法在您安装的任何应用程序的 URL 中找到与您提供的 URL 匹配的 URL 模式。

    当根据提供的参数无法识别 URLconf 中的匹配 URL 时,django.core.urlresolvers 会引发 NoReverseMatch 异常。

    要开始调试它,您需要首先分析给您的错误消息。

    • p3

      p4

    • p5

      p6

    • p7

      p8

    • p9

      p10

    • p11

      p12

    首先在源代码中找到与当前正在呈现的 URL 相关的代码 - URL、视图和所涉及的任何模板。在大多数情况下,这将是您当前正在开发的代码的一部分。

    完成此操作后,按照 django 的顺序阅读代码,直到到达尝试为您的 构建 url 的代码行 my_url_name 。同样,这可能是您最近更改的地方。

    现在您已经发现错误发生的位置,请使用错误消息的其他部分来解决问题。

    网址名称

    • 有错别字吗?
    • 您是否提供了尝试访问给定名称的 URL?
    • 如果你已经在应用程序中设置了 app_name urls.py (例如 app_name = 'my_app' ),或者你使用命名空间包含了应用程序(例如 include('myapp.urls', namespace='myapp') ,那么在逆向时你需要包含命名空间,例如 {% url 'myapp:my_url_name' %} reverse('myapp:my_url_name') .
    • 当您尚未设置应用程序名称或未在 URL 中包含命名空间时, reverse('myapp:my_url_name') 您是否尝试使用命名空间(例如)进行反转
    • 您是否忘记了 URL 名称周围的引号,而写了类似的内容 {% url my_url_name %} 来代替 {% url 'my_url_name' %}

    参数和关键字参数

    参数和关键字参数用于匹配给定 url 中存在的任何捕获组,这些捕获组可以通过 () url 模式中的括号识别。

    假设您匹配的 url 需要额外的参数,请查看错误消息,并首先查看给定参数的值是否正确。

    如果不正确:

    • 第19页

      第20页

    • 第21页

      第22页

    如果他们正确:

    • 第24页

      第25页

      第26页

      • 【【p27】】

        【【p28】】

      • 【【p29】】

        【【p30】】

    • p31

      p32

      • It's possible that you have forgotten to include your app within the INSTALLED_APPS setting (or the ordering of the apps within INSTALLED_APPS may need looking at)
      • Check whether you've forgotten to include the specific URLs file in the ROOT_URLCONF or another URL file which is included in ROOT_URLCONF .

    Django 版本

    在 Django 1.10 中,通过 Python 路径反转 URL 的功能已被删除。应改用命名路径。


    如果您仍然无法找到问题,那么请随意提出一个新问题,其中包括您尝试过的内容、您研究过的内容(您可以链接到这个问题),然后将相关代码包含在问题中 - 您匹配的url,任何相关的url模式,显示django尝试匹配的错误消息的部分,以及可能 INSTALLED_APPS 适用的设置。

返回
作者最近主题: