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用于url解码和中文解析的小脚本(python url decoder)
Aug 11 Python
Python实现批量下载文件
May 17 Python
Python实现栈的方法
May 26 Python
python脚本作为Windows服务启动代码详解
Feb 11 Python
python实现俄罗斯方块
Jun 26 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
pycharm中import呈现灰色原因的解决方法
Mar 04 Python
Python如何实现爬取B站视频
May 20 Python
Python中如何添加自定义模块
Jun 09 Python
pytorch中index_select()的用法详解
Jan 06 Python
Python 批量下载阴阳师网站壁纸
May 19 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下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php的curl封装类用法实例
2014/11/07 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
php实现微信发红包功能
2018/07/13 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
js类型检查实现代码
2010/10/29 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
实现Python与STM32通信方式
2019/12/18 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
为什么说python适合写爬虫
2020/06/11 Python
python不同系统中打开方法
2020/06/23 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
养殖行业的创业计划书
2014/01/05 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
幼儿园安全管理制度
2015/08/05 职场文书