Django案例一:用户登录
一、【urls.py】文件
from django.urls import path
from app01 import views
urlpatterns = [
# 请求和响应
path('login/', views.login),
]
二、【views.py】文件
from django.shortcuts import render, HttpResponse, redirect
def login(request):
if request.method == "GET":
return render(request, "login.html")
# 如果是POST请求,获取用户提交的数据
# print(request.POST)
username = request.POST.get("user")
password = request.POST.get("pwd")
if username == 'root' and password == "123":
return HttpResponse("登录成功")
# return redirect("https://www.baidu.com/?tn=02003390_5_hao_pg")
# return HttpResponse("登录失败")
return render(request, "login.html", {"error_msg": "用户名或密码错误"})
三、【login.html】文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户登录</h1>
<form method="post" action="/login/">
{% csrf_token %}
<input type="text" name="user" placeholder="用户名">
<input type="password" name="pwd" placeholder="密码">
<input type="submit" value="提交"/>
<span style="color: red;">{{ error_msg }}</span>
</form>
</body>
</html>
四、报错形式
解决方法:在html中,form表单中加上
{% csrf_token %}
五、运行结果
1.登录界面
2.登录失败
3.登录成功
(也可以跳转到指定页面,例如百度)
return redirect("https://www.baidu.com/?tn=02003390_5_hao_pg")