【发布时间】:2014-09-18 04:14:17
【问题描述】:
请原谅我的无知,但我正在尝试重定向到登录页面,显示发生了一些错误,但不知道为什么会出现此 django 错误:
NoReverseMatch 在 /dologin
使用参数 '()' 和关键字参数 '{'error': 'Login Failed'}' 反转'show_login'。尝试了 0 个模式:[]
调用此行时:
return redirect('show_login', error="Login Failed")
我什至不明白反过来是什么。我只想发送错误以显示登录然后捕获它:
def show_login(request, error=False):
return render(request, 'main/login.html', {"error": error})
并且dologin是从urls.py映射的:
...
url(r'^dologin', 'main.views.login', name='dologin'),
...
编辑:可能与此有关: 我第一次有:
url(r'^login', 'main.views.show_login', name='login'),
但当改为
url(r'^login', 'main.views.show_login', name='show_login'),
错误是:
everse for 'show_login' with arguments '()' and keyword arguments '{'error': 'Login Failed'}' not found. 1 pattern(s) tried: ['login']
【问题讨论】:
-
/dologin注册在urls.py? -
@Lafada 是的。 url(r'^dologin', 'main.views.login', name='dologin'),
-
请你试试这个>>> from django.core.urlresolvers import get_resolver >>> get_resolver(None).reverse_dict.keys() 看看它是否显示
dologin。 -
@Lafada ['index',
, , , , , , 'logout', 'show_login', 'login', , 'setup', 'show_setup'] -
在
manage.py shell中使用此代码