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生成器generator用法实例分析
Jun 04 Python
浅谈Python 字符串格式化输出(format/printf)
Jul 21 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 Python
Python中logging实例讲解
Jan 17 Python
基于python的socket实现单机五子棋到双人对战
Mar 24 Python
python分割一个文本为多个文本的方法
Jul 22 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
python操作toml文件的示例代码
Nov 27 Python
Python中过滤字符串列表的方法
Dec 22 Python
pandas按条件筛选数据的实现
Feb 20 Python
Python开发五子棋小游戏
May 02 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
浅谈json_encode用法
2015/03/05 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
js加强的经典分页实例
2013/03/15 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
Python3基础之输入和输出实例分析
2014/08/18 Python
python 队列详解及实例代码
2016/10/18 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python版本的仿windows计划任务工具
2018/04/30 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python设置表格边框的具体方法
2020/07/17 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
护理学专业推荐信
2013/12/03 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python