簡體   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