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获取服务器信息的最简单实现方法
Mar 05 Python
python2.7的编码问题与解决方法
Oct 04 Python
Django rest framework工具包简单用法示例
Jul 20 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
pandas 如何分割字符的实现方法
Jul 29 Python
pandas的to_datetime时间转换使用及学习心得
Aug 11 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 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
用php写的serv-u的web申请账号的程序
2006/10/09 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
11款基于Javascript的文件管理器
2009/10/25 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
opencv python 傅里叶变换的使用
2018/07/21 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
购买大码女装:Lane Bryant
2016/09/07 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
介绍下Java的输入输出流
2014/01/22 面试题
暑期社会实践方案
2014/02/05 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang