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(Tornado)模拟登录小米抢手机
Nov 12 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
Python重新加载模块的实现方法
Oct 16 Python
Python语言快速上手学习方法
Dec 14 Python
Python基础之循环语句用法示例【for、while循环】
Mar 23 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
5款实用的python 工具推荐
Oct 13 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
python中@property的作用和getter setter的解释
Dec 22 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的一个登录的类 [推荐]
2007/03/16 PHP
PHP 文件类型判断代码
2009/03/13 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
jQuery示例收集
2010/11/05 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
PyQT实现多窗口切换
2018/04/20 Python
Python语法分析之字符串格式化
2019/06/13 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
django的autoreload机制实现
2020/06/03 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
劲霸男装广告词改编版
2014/03/21 职场文书
2015年清明节网上祭英烈留言寄语
2015/03/04 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书