我添加了 django.contrib.auth.views.login我的网页上到处都是,为此我必须加载一个模板标签 https://docs.djangoproject.com/en/1.2/ref/templates/builtins/(返回 AuthenticationForm)在我的 base.html 中。该模板标签包括registration/login.html
模板。
登录工作正常,但我希望它将用户重定向到登录前的同一页面。现在,它会将我重定向到显示的 /wherever_i_am/loginregistration/login.html
带有“登录正常”或“登录失败”消息,但没有 base.html 的其余部分。
我遵循了 django 文档和一些 SO 问题,例如this https://stackoverflow.com/q/806835/768138但我无法正确重定向。我已经修改了next
变量但它似乎不起作用(next={{ request.get_full_path }}
将我重定向到 /wherever_i_am/login ...再次)
你尝试过类似的事情吗?有任何想法吗?
UPDATE1现在,问题可能是这样的:如果我想在网页中的任何位置包含登录表单,是否必须声明自己的登录视图?
谢谢。
找到答案:
更改 settings.py 中的 settings.LOGIN_REDIRECT_URL,
下面的代码是从 django 复制的:
if request.method == "POST":
form = authentication_form(data=request.POST)
if form.is_valid():
# Ensure the user-originating redirection url is safe.
if not is_safe_url(url=redirect_to, host=request.get_host()):
redirect_to = settings.LOGIN_REDIRECT_URL
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)