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验证码识别处理实例
Dec 28 Python
python获取代理IP的实例分享
May 07 Python
使用python存储网页上的图片实例
May 22 Python
Python之列表实现栈的工作功能
Jan 28 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
Python实现自定义读写分离代码实例
Nov 16 Python
python字典setdefault方法和get方法使用实例
Dec 25 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
Python Selenium模块安装使用教程详解
Jul 09 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 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垃圾代码优化操作代码
2010/08/05 PHP
PHP学习 变量使用总结
2011/03/24 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
Python实现的HTTP并发测试完整示例
2020/04/23 Python
详解Python中expandtabs()方法的使用
2015/05/18 Python
python每天定时运行某程序代码
2019/08/16 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
建房协议书
2014/04/11 职场文书
员工保密协议书
2014/09/27 职场文书
廉政承诺书
2015/01/19 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python