Django框架实现的普通登录案例【使用POST方法】
作者:SpecYue 发布时间:2021-10-12 18:05:10
标签:Django,登录,POST
本文实例讲述了Django框架实现的普通登录。分享给大家供大家参考,具体如下:
1.显示登录页面
a.设计url,通过浏览器访问http://127.0.0.1:8000//login的时候现实登录页面
b.设计url对应的视图函数
c.编写模板文件login.html
2.登录校验功能
校验数据库中有没有这个用户,这里用模拟的伪校验
新建login.html
在templates文件夹下的booktest文件夹下新建
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
POST:提交的参数在请求头里,数据比较重要用post
GET:提交的参数在url中
用post方法提交到login_check页面中
<form method="post" action="/login_check">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
<input type="submit" value="登录">
</form>
</body>
</html>
注意这里表单的提交方法选择post方法,action配置如上
配置urls.py
url(r'^login$',views.login),
url(r'^login_check$',views.login_check),
views.py写视图函数login()
和login_check()
login函数直接现实登录页面,login_check函数用request.POST.get()
函数接受浏览器传递过来的参数
def login(request):
'''显示登录页面'''
return render(request, 'booktest/login.html')
def login_check(request):
'''登录校验视图'''
# 浏览器提交的信息就保存在request里面
# request.POST保存的是POST提交的参数
# request.GET保存的是GET提交的参数
# 1.获取提交的用户名和密码
username = request.POST.get('username')
passwoed = request.POST.get('password')
# 2.进行登录校验
# 实际开发的时候,用户名和密码保存在数据库中
# 模拟
if username == 'zhangyue' and passwoed == '123456':
# 正确,跳转到首页index
return redirect('/index')
else:
# 错误
return redirect('/login')
# 3.返回应答
发生Forbidden (403)错误
去项目的setting.py里注释掉
'django.middleware.csrf.CsrfViewMiddleware',
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
来源:https://blog.csdn.net/qq_34788903/article/details/87896645


猜你喜欢
- 在这篇asp之数学函数里,我们将会以表格的形式,让大家了解到关于ASP中能用到的数学函数,里面包括一个数的绝对值、一个数的平方根
- 原作者:Nik Piepenbreier翻译&内容补充:费弗里原文地址:https://towardsdatascience.com
- 一、控制用户存取 1、创建修改用户Creating Users Create/alter user new_user identified
- 摘要:在本篇博客中,我们将介绍如何在YOLOv5车牌识别的基础上进一步实现字符分割与识别。我们将详细介绍字符分割方法,如投影法和轮廓法,以及
- 目录一、== 是比较两个对象的内容是否相等二、is 比较的是两个实例对象是不是完全相同三、使用is注意python对于小整数使用对象池存储问
- python使用super()出现错误解决办法当我们在python的子类中调用父类的方法时,会用到super(),不过我遇到了一个问题,顺便
- 数据库在运行中,会因为人为因素或一些不可抗力因素造成数据损坏。所以为了保护数据的安全和最小停机时间,我们需制定详细的备份/恢复计划,并定期对
- 我们平日办公时用得最多的软件是Execl、Word或WPS Office等,你的计算机中一定储存着大量的XLS、DOC、WPS文件吧!网页制
- 前提环境准备python3+pillow+pyautogui先提前安装好python3以及pillow和pyautogui模块这里介绍一下模
- 因为要批量用某软件处理一批eps文件,所以要模拟鼠标及键盘动作,使其能够自动化操作。#-*-coding:utf-8-*-import os
- 首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,
- 在用户体验量化方法研究(一)中,我们以用户体验层次模型为基础,提出了三种量化用户体验的方法:以任务为中心、以行为为中心以及以体验为中心的量化
- 一、发送电子邮件Python标准库提供了smtplib,用于实现SMTP协议发送邮件。标准库还提供email模块帮助我们构建邮件格式。SMT
- 先了解什么是deferGo语言中的defer与return执行的先后顺序Go语言的 defer 语句会将其后面跟随的语句进行延迟处理,在 d
- 这些包可以独立使用,也可以与其他包一起使用以满足复杂的业务需求。Integration Services 可以提取和转换来自多种源(如 XM
- 一、管理数据库连接1、使用配置文件管理连接之约定在数据库上下文类中,如果我们只继承了无参数的DbContext,并且在配置文件中创建了和数据
- 问题重现Installing golang.org/x/tools/cmd/guru FAILED Installing golang.or
- 关于这个问题的解答,网络上有成千上万个版本,当然,出现问题的诱因不同,解决的途径也不同,所以我不排除其他解决此类问题的办法,但是这些办法都没
- 一个网站的导航就相当于是一条路的路标,不同的是,网站的不同栏目页的入口远远比马路要来得复杂,所以一个清晰的导航设计对于一个网站的意义远远大于
- 前言Vux 是基于 Vue 和 Weui 开发的手机端页面 UI 组件库,开发初衷是满足公司的微信端表单需求,因为第三方的调查问卷表单系统在