反向未找到错误

use*_*661 6 python django django-templates django-urls django-1.5

如果我有一个像这样的URL:

url(r'^reset/(?P<uid>\w+)/(?P<token>\w+)/$', 'django.contrib.auth.views.password_reset_confirm', name="reset_password")
Run Code Online (Sandbox Code Playgroud)

和这样的URL标记:

{% url 'reset_password' uid=uid token=token %}
Run Code Online (Sandbox Code Playgroud)

当我尝试呈现包含标记的页面时,为什么会出现此错误:

Reverse for 'reset_password' with arguments '()' and keyword arguments not found 
Run Code Online (Sandbox Code Playgroud)

uid和token都是有效的字符串.

Vir*_*ide 1

我想说你的 uid 或你的令牌有一个非字母数字字符,如“-”或“。” 所以我会尝试将 urls.py 更改为:

url(r'^reset/(?P<uid>.+)/(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', name="reset_password")
Run Code Online (Sandbox Code Playgroud)

我不喜欢使用 . 在正则表达式中,但如果你没有其他选择......