Django框架实现的普通登录案例【使用POST方法】


Posted in Python onMay 15, 2019

本文实例讲述了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)错误

Django框架实现的普通登录案例【使用POST方法】

去项目的setting.py里注释掉

'django.middleware.csrf.CsrfViewMiddleware',

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
Python设计模式之观察者模式实例
Apr 26 Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
Jun 29 Python
全面了解python字符串和字典
Jul 07 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
python线程安全及多进程多线程实现方法详解
Sep 27 Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
python 窃取摄像头照片的实现示例
Jan 08 Python
Numpy中的数组搜索中np.where方法详细介绍
Jan 08 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 Python
Django框架使用mysql视图操作示例
May 15 #Python
scrapy-redis源码分析之发送POST请求详解
May 15 #Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 #Python
使用Python做定时任务及时了解互联网动态
May 15 #Python
Python使用统计函数绘制简单图形实例代码
May 15 #Python
详解Python3 对象组合zip()和回退方式*zip
May 15 #Python
python语言元素知识点详解
May 15 #Python
You might like
php查询whois信息的方法
2015/06/08 PHP
PHP多进程简单实例小结
2019/11/09 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
python3图片转换二进制存入mysql
2013/12/06 Python
跟老齐学Python之集合(set)
2014/09/24 Python
给Python初学者的一些编程技巧
2015/04/03 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python字符串格式化方式解析
2019/10/19 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
护理专业求职信
2014/06/15 职场文书
大学生心理活动总结
2014/07/04 职场文书
工程部经理岗位职责
2015/02/02 职场文书
入党群众意见范文
2015/06/02 职场文书
旅游投诉信范文
2015/07/02 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
matlab xlabel位置的设置方式
2021/05/21 Python
浅谈python中的多态
2021/06/15 Python