Python Django登录重定向到密码重置页面,而不是配置文件页面
我是django的新手,正在构建我的第一个应用程序。在这个阶段,我尝试使用django登录,而不使用自定义视图函数。不幸的是,在django管理页面中创建用户并尝试登录后,我发现登录按钮将我重定向到密码重置页面,因为输入了无效链接。我不知道登录是失败还是成功。 我曾寻找过许多类似的问题,但从未遇到过同样的情况 网址Python Django登录重定向到密码重置页面,而不是配置文件页面,python,django,django-authentication,django-login,Python,Django,Django Authentication,Django Login,我是django的新手,正在构建我的第一个应用程序。在这个阶段,我尝试使用django登录,而不使用自定义视图函数。不幸的是,在django管理页面中创建用户并尝试登录后,我发现登录按钮将我重定向到密码重置页面,因为输入了无效链接。我不知道登录是失败还是成功。 我曾寻找过许多类似的问题,但从未遇到过同样的情况 网址 从django.conf.url.static导入static urlpatterns+=静态(settings.static\u URL,document\u root=setti
从django.conf.url.static导入static
urlpatterns+=静态(settings.static\u URL,document\u root=settings.static\u root)
#添加Django站点身份验证URL(用于登录、注销、密码管理)
URL模式+=[
路径('accounts/',包括('django.contrib.auth.url'),
路径('accounts/login/',包括('django.contrib.auth.url'),名称='login'),
路径('accounts/logout/',包括('django.contrib.auth.url'),名称='logout'),
路径('accounts/password\u change/',包括('django.contrib.auth.url'),名称='password\u change'),
路径('accounts/password\u change/done/',包括('django.contrib.auth.url'),名称='password\u change\u done'),
路径('accounts/password_reset/',包括('django.contrib.auth.url'),名称='password_reset'),
路径('accounts/password\u reset/done/',包括('django.contrib.auth.url'),名称='password\u reset\u done'),
路径('accounts/reset//',包括('django.contrib.auth.url'),名称='password\u reset\u confirm'),
路径('accounts/reset/done/',包括('django.contrib.auth.url'),名称='password\u reset\u complete')
]
html基
{%block title%}
阿克伊尔
{%endblock%}
{%load static%}
{%block nav%}
{%endblock%}
你建议按摩按摩吗,
{%block content%}
{%endblock%}
Myapp版权所有2019
html扩展
{%extensed“base\u generic\u lite01.html”%}
{%block nav%}
{%endblock%}
{%block content%}
{%if form.errors%}
您的用户名和密码不匹配。请再试一次
{%endif%}
{%if next%}
{%if user.u经过身份验证%}
您的帐户无权访问此页面。继续,
请使用具有访问权限的帐户登录
{%else%}
请登录以查看此页面
{%endif%}
{%endif%}
{%csrf_令牌%}
{{form.username.label_tag}
{{form.username}
{{form.password.label_tag}}
{{form.password}}
{#假设您在URLconf#中设置了密码重置视图}
{%endblock%}
我希望在帐户/配置文件/页面上被重定向,但我被重定向到密码重置页面
感谢您考虑我的问题。根据这一点,如果您想使用django的身份验证默认视图,那么您只需将以下内容:
urlpatterns += [
path('accounts/', include('django.contrib.auth.urls')),
# You can remove rest of the paths from urlpatterns
]
现在,如果要替代任何特定视图,则可以替代默认视图,如下所示:
from django.contrib.auth import views as auth_views
urlpatterns = [
path(
'accounts/login/',
auth_views.LoginView.as_view(template_name='custom_template.html'),
),
]
你好,非常感谢,我听从了你的建议,效果非常好@I.M.冰很酷!!请考虑标记。谢谢您的回答,它也很好用LogixReNeTDtURL=’/’。
{% extends "base_generic_lite01.html" %}
{% block nav %}
<nav class="navbar navbar-dark bg-primary navbar-expand-md">
<div id = "navigation_div" class="container-fluid">
<a class="navbar-brand" href="#">Monkyro</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mon_menu"
aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="mon_menu">
<ul class="navbar-nav ml-auto">
<li class="nav-item"><a class="nav-link" href="{% url 'index'%}" >Acceuil</a></li>
<li class="nav-item"><a class="nav-link" href= "{% url 'registerpage' %}" >S'inscrire </a></li>
<li class="nav-item"><a class="nav-link" href ="{% url 'doctorlistpage'%}">Docteurs</a></li>
<li class="nav-item"><a class="nav-link" href= "{% url 'tariffpage' %}" >Tarifs</a></li>
<li class="nav-item"><a class="nav-link" href= "{% url 'reviewpage' %}" >Avis</a></li>
<li class="nav-item active"><a class="nav-link" href= "{% url 'myloginpage' %}" >Se connecter</a></li>
</ul>
</div>
</div>
</nav>
{% endblock%}
{% block content%}
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p>Your account doesn't have access to this page. To proceed,
please login with an account that has access.</p>
{% else %}
<p>Please login to see this page.</p>
{% endif %}
{% endif %}
<form method="post" action="{% url 'login' %}" >
{% csrf_token %}
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>
</tr>
</table>
<input type="submit" value="login" />
<input type="hidden" name="next" value="{{next}}" />
</form>
{# Assumes you setup the password_reset view in your URLconf #}
<p><a href="{% url 'password_reset' %}">Lost password?</a></p>
{% endblock %}
urlpatterns += [
path('accounts/', include('django.contrib.auth.urls')),
# You can remove rest of the paths from urlpatterns
]
from django.contrib.auth import views as auth_views
urlpatterns = [
path(
'accounts/login/',
auth_views.LoginView.as_view(template_name='custom_template.html'),
),
]
you need to add two lines in your Settings.py
LOGIN_URL = 'login'
LOGIN_REDIRECT_URL = '/' or name of your homepage where you want to redirect