Django框架封装外部函数示例


Posted in Python onMay 28, 2019

本文实例讲述了Django框架封装外部函数。分享给大家供大家参考,具体如下:

需求:我们来模拟用户登录,验证是否输入正确的用户名和密码

1.构建登录表单

<form method="post">
    <p>用户名:<input type="text" name="username"></p>
    <p>密码:<input type="password" name="pwd"></p>
    <p><input type="submit" value="提交"></p>
    <hr>
  </form>
  <p>
    登录状态提示:{{ result }}
  </p>

2.程序判断

#coding:utf-8
from django.shortcuts import render,render_to_response
# Create your views here.
from django.http import HttpResponse
def hi(request):
  msg = {'result':''}
  if userLogin(request.POST.get('username'),request.POST.get('pwd')):
    msg['result'] = '登录成功'
  else:
    msg['result'] = '登录失败'
  return render_to_response("index.html",msg)
#判断用户登录函数
def userLogin(username,pwd):
  if username == 'jack' and pwd == '123':
    return True
  else:
    return False

验证如果输入的用户名为jack,密码为123,就提示“登录成功”

3.一个小意外

如果你提交上面的表单,会报如下错误,这个是Django框架的验证机制

Django框架封装外部函数示例

这是为了防止跨域攻击,我们这里暂时不研究这个安全机制,来到settings.py文件注释掉下面这行

Django框架封装外部函数示例

这样就不会报上面的那个错误了。

如果用户输正确的用户名和密码(jack、123),模板上{{ result }} 就是提示“登录成功”。

4.如何把userLogin函数写到外部?

在views.py文件同级下新建user.py文件

Django框架封装外部函数示例

然后在views.py里

先引入

import user

使用

user.userLogin()

完整的views.py代码如下:

#coding:utf-8
from django.shortcuts import render,render_to_response
# Create your views here.
from django.http import HttpResponse
import user
def hi(request):
  msg = {'result':''}
  if user.userLogin(request.POST.get('username'),request.POST.get('pwd')):
    msg['result'] = '登录成功'
  else:
    msg['result'] = '登录失败'
  return render_to_response("index.html",msg)

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

Python 相关文章推荐
使用python Django做网页
Nov 04 Python
python抓取网页中的图片示例
Feb 28 Python
Python使用PIL库实现验证码图片的方法
Mar 11 Python
Python使用gRPC传输协议教程
Oct 16 Python
Python实现操纵控制windows注册表的方法分析
May 24 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
mac在matplotlib中显示中文的操作方法
Mar 06 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
win10下python3.8的PIL库安装过程
Jun 08 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 #Python
python利用多种方式来统计词频(单词个数)
May 27 #Python
numpy中的ndarray方法和属性详解
May 27 #Python
numpy.linspace函数具体使用详解
May 27 #Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 #Python
Django框架设置cookies与获取cookies操作详解
May 27 #Python
numpy下的flatten()函数用法详解
May 27 #Python
You might like
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
详解VUE 数组更新
2017/12/16 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
英语专业学子个人的自我评价
2013/10/02 职场文书
大学生学习自我评价
2014/01/13 职场文书
单位提档介绍信
2014/01/17 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
服务口号大全
2014/06/11 职场文书
新文化运动的口号
2014/06/21 职场文书
群众路线剖析材料
2014/09/30 职场文书
材料员岗位职责范本
2015/04/11 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL