【问题标题】:urls django, NoReverseMatch网址 django,NoReverseMatch
【发布时间】:2015-04-23 20:15:47
【问题描述】:

我有这个错误,我不知道它的来源:

/PROJETTEST/rec 处的 NoReverseMatch 未找到带有参数 '('',)' 和关键字参数 '{}' 的 'myp' 的反向操作。尝试了 1 种模式:['(?P\w+)$']

 url(r'^allp$', allp.as_view(), name="allp"),
 url(r'^allp/(?P<slug>[^/]+)$',ficheP.as_view(), name="ficheP"),

 url(r'^(?P<namep>\w+)$','myp', name="myp"),
 url(r'^(?P<namep>\w+)/members$','members', name="members"),
 url(r'^(?P<namep>\w+)/rec','rec', name="rec"),


    <a href="{% url 'myp' p.name %}" role="button">Gen</a>
    <a href="{% url 'members' p.name %}" role="button">Members</a>
    <a href="{% url 'rec' p.name %}" role="button">rec</a>

当我想访问..//rec..时我有。

【问题讨论】:

    标签: django django-templates reverse django-urls


    【解决方案1】:

    p.name 是模板中的空字符串。而myp url 需要至少一个字母数字字符作为参数。

    【讨论】:

    • 那么为什么只有 rec 不起作用?因为 myp 和 members 工作,所以 p.name 不为空
    • 仔细阅读错误信息。反向不适用于模板中的第一个 {% url %} 标记为 {% url 'myp' p.name %}
    • 那么为什么当我点击 Gen 时它会起作用?
    • 对不起,我明白了这个问题,但我不知道原因。我的观点有问题!谢谢你们俩
    • 因为你是在另一个视图(不是/rec/)上做的,它通过非空p.name
    猜你喜欢
    • 1970-01-01
    • 2018-09-23
    • 2014-07-02
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2020-08-01
    • 2015-09-23
    • 2022-06-11
    相关资源
    最近更新 更多