姜戈身份验证系统



我正在使用内置的 Django 身份验证系统,在我的登录模板中我有以下代码:

登录.html:

{% block title %}Login{% endblock %}
{% block content %}
<h2>Login</h2>
{% if user.is_authenticated%}
you are already logged in
{% else %}
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Login</button>
</form>
{% endif %}
{% endblock %}

但我真正想做的是,如果用户在已经登录的情况下尝试访问登录页面,请将用户重定向到主页,但我是 Django 的新手,所以我不知道该怎么做。

对于 django>=1.11,您可以在其 url 中将redirect_authenticated_user参数设置为 True,url_patterns进行重定向,如下所示:

from django.contrib.auth import views as auth_views
urlpatterns = [
url(r'^login/', auth_views.LoginView.as_view(redirect_authenticated_user=True), name='login'),
]

有关详细信息,请阅读文档。

并将设置文件中的LOGIN_REDIRECT_URL设置为索引 URL 或其名称:

LOGIN_REDIRECT_URL = '/index/'

在您的"settings.py"中添加以下内容:

LOGIN_REDIRECT_URL = 'index'

如果索引的网址名称是"索引",则输入正确的网址名称

您可以在 views.py 文件中执行此操作。

def login(request):
if request.method =="get":
if request.user.is_authenticated:
return render(// youre code)

相关内容

  • 没有找到相关文章

最新更新