Django简易用户登入系统示例
1)添加url和函数的对应关系(urls.py)
urlpatterns = [ path('login/', views.login), #login:url路径,views.login:对应的函数
]
2)添加视图函数(views.py)
def login(req):if req.method == 'GET': #如果用户的请求类型为GET说明是访问页面,直接返回给用户login.htmlreturn render(req,'login.html')user = req.POST.get('user') #获取用户名password = req.POST.get('password') #获取密码print(user,password) #打印用户名密码if user=='sally' and password=='123456': #验证用户名和密码welcome_info='Login sucessful! Welcome ' + user + ' to login this system'return HttpResponse(welcome_info) #如果用户名密码验证成功,返回给用户一段欢迎词return render( #如果用户名密码验证失败,返回给用户login.html和一个报错信息req,'login.html',{'error_msg':'user or password is incorrect'})
3)创建html文件(login.html)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>login</title>
</head>
<body><h1>用户登入</h1><form method="POST" action="/login/"><!--跨站点请求伪造(CSRF)保护,如果没有这行代码,django不会给响应用户请求-->{% csrf_token %} <input type="text" name="user" placeholder="user"><input type="password" name="password" placeholder="password"><input type="submit" value="submit"><!--用户名或密码错误信息--><span style="color:red">{{error_msg}}<span></form>
</body>
</html>
效果:
登入页面:
登入成功页面:
登入失败页面: