我正在使用内置的django身份验证系统,在我的登录模板中,我有以下代码:
login.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的新手,所以我不知道该怎么做。
答案 0 :(得分:0)
在您的“ settings.py”中添加以下内容:
LOGIN_REDIRECT_URL = 'index'
如果索引的网址名称是“索引”,则输入正确的网址名称
答案 1 :(得分:0)
对于django> = 1.11,您可以在url_patterns的URL中将redirect_authenticated_user参数设置为True来进行重定向,如下所示:
from django.contrib.auth import views as auth_views
urlpatterns = [
url(r'^login/', auth_views.LoginView.as_view(redirect_authenticated_user=True), name='login'),
]
阅读document以获得更多信息。
,还将设置文件中的LOGIN_REDIRECT_URL设置为索引URL或其名称:
LOGIN_REDIRECT_URL = '/index/'
答案 2 :(得分:0)
您可以在views.py文件中进行操作。
def login(request):
if request.method =="get":
if request.user.is_authenticated:
return render(// youre code)