Django:未找到反向路径

1 投票
1 回答
1534 浏览
提问于 2025-04-18 14:51

请原谅我的无知,我正在尝试重定向到登录页面,并显示一些错误信息,但我不知道为什么会出现这个Django错误:

NoReverseMatch at /dologin
Reverse for 'show_login' with arguments '()' and keyword arguments '{'error': 'Login Failed'}' not found. 0 pattern(s) tried: []

当调用这一行时:

return redirect('show_login', error="Login Failed")

我甚至不明白什么是reverse。我只是想把错误信息发送出去,让它显示登录页面,然后再处理这个错误:

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']

1 个回答

0

你的 show_login 这个视图没有接收任何参数,但你却想传一个 error 参数。我不太明白你想要实现什么,不过如果你把那个参数去掉的话,它就能正常工作了。

撰写回答