繁体   English   中英

django url没有反向匹配

[英]django url no reverse match

我正在尝试通过django中的url(电子邮件,名称)传递两个参数,当我只是通过电子邮件传递时,它可以正常工作,但是当我通过名称传递时,我也会收到一个错误(无反向匹配),我的名称包含一个空间

网址格式

url(r'^details/(?P<email>[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/(?P<name>([\W ]+))/$', details, name="details")

完整的错误信息

Reverse for 'password' with arguments '(u'tom@example.com', u'tom')' and keyword arguments '{}' not found. 1 pattern(s) tried: ['details/(?P<email>[\\\\w.%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4})/(?P<name>([\\\\W ]+))/ Reverse for 'password' with arguments '(u'tom@example.com', u'tom')' and keyword arguments '{}' not found. 1 pattern(s) tried: ['details/(?P<email>[\\\\w.%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4})/(?P<name>([\\\\W ]+))/ $

将变量传递到url

{%url 'details' email name %}

您得到的确切错误是什么。 使用多个变量时,可以尝试以下操作。

{%url 'details' email=email name=name %}

更新:

url(r'^details/(?P<email>[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/(?P<name>([\W ]+))/$', details, name="details")

你可能想改变

(?P<name>(\W+))  # non-alphanumeric

(?P<name>\w+)  # alphanumeric

假设是大写版本,则与您要允许使用的名称(通常是url)完全相反。

Python regex语法文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM