关于Djiango使用模板登录跳转登录前页面

django使用登录模板登录如果login页面不加<input type="hidden" name="next" value= {{next}} />

默认登录后跳转到/accounts/profile/
如果指定登陆后跳转的页面进行如下设置
登陆后指定跳转到|/lib/detail/页面
login.html页面:

{% if form.errors %}
    <p>Your username and password didn`t math.Please try again.</p>
{%endif%}
<form method="POST" action="{% url 'lib:login'%}">
    {%csrf_token %}
    {{form.as_p}}
    <button name= 'submit'>log in</button>
    <input type="hidden" name="next" value="{% url  'lib:detail' %}"/>
</form>

如果登录后返回登陆前页面可以写:
login.html:

{% if form.errors %}
    <p>Your username and password didn`t math.Please try again.</p>
{%endif%}
<form method="POST" action="{% url 'lib:login'%}">
    {%csrf_token %}
    {{form.as_p}}
    <button name= 'submit'>log in</button>
    <input type="hidden" name="next" value= {{next}} />
</form>

这样如果访问需要登录的页面http://127.0.0.1:8000/lib/detail/时,将会跳转到登录页面;
地址栏地址是http://127.0.0.1:8000/login/?next=/lib/detail/
那么登录后就会自动返回到http://127.0.0.1:8000/lib/detail/
返回登陆前的页面。

在 Django 中,登录页面跳转通常需要以下步骤: 1. 在 `views.py` 文件中定义一个函数处理登录逻辑,可以使用 Django 自带的 `LoginView` 或者自定义视图。 2. 在 `urls.py` 文件中配置登录页面的 URL,指向上一步中定义的登录视图函数。 3. 在模板文件中编写登录表单,表单的 `action` 属性应该指向登录 URL,这样用户提交表单时就会触发登录视图函数。 4. 在登录视图函数中处理用户提交的表单数据,验证用户身份,如果登录成功则跳转到指定页面,否则返回错误信息。 下面是一个简单的示例代码: **views.py:** ```python from django.contrib.auth.views import LoginView class CustomLoginView(LoginView): template_name = 'login.html' ``` **urls.py:** ```python from django.urls import path from .views import CustomLoginView urlpatterns = [ path('login/', CustomLoginView.as_view(), name='login'), ] ``` **login.html:** ```html {% extends 'base.html' %} {% block content %} <form method="post" action="{% url 'login' %}"> {% csrf_token %} {{ form.as_p }} <button type="submit">登录</button> </form> {% endblock %} ``` 在这个示例中,我们使用了 `LoginView` 类来处理登录逻辑,并且自定义了登录页面模板。在 `urls.py` 文件中,将 `/login/` URL 映射到 `CustomLoginView` 视图函数。在登录模板 `login.html` 中,我们使用 Django 自带的表单组件 `{{ form.as_p }}` 来生成登录表单,并将表单的 `action` 属性设置为登录 URL。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值