网址 django,NoReverseMatch
Posted
技术标签:
【中文标题】网址 django,NoReverseMatch【英文标题】:urls 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..时我有。
【问题讨论】:
【参考方案1】:p.name
是模板中的空字符串。而myp
url 需要至少一个字母数字字符作为参数。
【讨论】:
那么为什么只有 rec 不起作用?因为 myp 和 members 工作,所以 p.name 不为空 仔细阅读错误信息。反向不适用于模板中的第一个% url %
标记为 % url 'myp' p.name %
。
那么为什么当我点击 Gen 时它会起作用?
对不起,我明白了这个问题,但我不知道原因。我的观点有问题!谢谢你们俩
因为你是在另一个视图(不是/rec/
)上做的,它通过非空p.name
。以上是关于网址 django,NoReverseMatch的主要内容,如果未能解决你的问题,请参考以下文章