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实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
python中map、any、all函数用法分析
Apr 21 Python
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
简单解决Python文件中文编码问题
Nov 22 Python
Python实现全角半角字符互转的方法
Nov 28 Python
python一行sql太长折成多行并且有多个参数的方法
Jul 19 Python
详解重置Django migration的常见方式
Feb 15 Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 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
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
Vue实现todo应用的示例
2021/02/20 Vue.js
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
python抽取指定url页面的title方法
2018/05/11 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
基于Python实现简单学生管理系统
2020/07/24 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
高考自主招生自荐信
2013/10/20 职场文书
预防煤气中毒方案
2014/06/16 职场文书
大学团日活动总结书
2015/05/11 职场文书
春节慰问简报
2015/07/21 职场文书
2016高考感言
2015/08/01 职场文书
JavaScript实现简单计时器
2021/06/22 Javascript
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript