django实现登录跳转
时间: 2023-10-07 15:08:45 浏览: 42
在 Django 中实现登录跳转,可以通过以下步骤实现:
1. 在 `views.py` 中创建登录视图函数,使用 Django 自带的 `login` 函数进行用户登录验证,如果验证通过,则使用 `redirect` 函数将用户重定向到目标页面。
```python
from django.contrib.auth import authenticate, login
from django.shortcuts import render, redirect
def login_view(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('target_page')
else:
# 登录失败的处理
else:
# 显示登录页面
return render(request, 'login.html')
```
2. 在 `urls.py` 中将登录视图函数绑定到对应的 URL 上。
```python
from django.urls import path
from . import views
urlpatterns = [
path('login/', views.login_view, name='login'),
# 其他 URL
]
```
3. 在 HTML 页面中创建登录表单,将表单发送到登录视图 URL 上。
```html
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<label for="username">用户名:</label>
<input type="text" name="username" required>
<br>
<label for="password">密码:</label>
<input type="password" name="password" required>
<br>
<button type="submit">登录</button>
</form>
```
其中 `{% url 'login' %}` 表示将 URL 名称 `login` 转换为对应的 URL,防止 URL 填写错误。`{% csrf_token %}` 是 Django 提供的防跨站攻击保护机制。