1. 配置html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>User Login</title>
</head>
<body>
<h1> 欢迎登录! </h1>
{# action向login返回post请求 #}
<form action="/login/" method="post">
用户名: <input type="text" name="username">
密 码: <input type="text" name="password">
<input type="submit">
</form>
</body>
</html>
2. 写登录逻辑
test01/views.py
from django.shortcuts import render
from django.shortcuts import HttpResponse
def login(request):
method = request.method # 获取用户请求方式
if method == 'GET':
return render(request,'login.html')
else:
# request.POST 获取的返回结果 <QueryDict: {'username': ['guo'], 'password': ['guo']}>
username = request.POST.get('username')
password = request.POST.get('password')
if username == 'guo' and password == 'guo':
# HttpResponse 向用户界面返回字符串
return HttpResponse('登录成功')
else:
return HttpResponse('登录失败')
3. 关闭Django的Post认证
django_project/settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', 关闭POST校验
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
4. 配置url
import test01.views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/',test01.views.index),
path('login/', test01.views.login), # 新增
]
5. 验证
- 成功
- 失败