Django 登录代码
时间: 2023-06-10 21:06:25 浏览: 53
以下是一个简单的Django登录代码示例:
1. 在 `views.py` 中定义登录和注销函数:
```python
from django.contrib.auth import authenticate, login, logout
from django.shortcuts import render, redirect
def user_login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user:
if user.is_active:
login(request, user)
return redirect('home')
else:
return HttpResponse("Your account is disabled.")
else:
print("Invalid login details: {0}, {1}".format(username, password))
return HttpResponse("Invalid login details supplied.")
else:
return render(request, 'login.html', {})
def user_logout(request):
logout(request)
return redirect('home')
```
2. 在 `urls.py` 中定义登录和注销路由:
```python
from django.urls import path
from . import views
urlpatterns = [
path('login/', views.user_login, name='user_login'),
path('logout/', views.user_logout, name='user_logout'),
]
```
3. 在 `login.html` 模板中创建表单以接受用户名和密码:
```html
{% extends 'base.html' %}
{% block content %}
<h2>Login</h2>
<form method="post">
{% csrf_token %}
<label for="username">Username:</label>
<input type="text" name="username" id="username"><br>
<label for="password">Password:</label>
<input type="password" name="password" id="password"><br>
<input type="submit" value="Login">
</form>
{% endblock %}
```
以上就是一个简单的Django登录代码示例。当用户访问 `/login` 路由时,将呈现一个表单用于登录。登录成功后,将重定向到 `home` 路由,注销时将重定向到 `home` 路由。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)