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 相关文章推荐
tensorflow训练中出现nan问题的解决
Feb 10 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
Python对接支付宝支付自实现功能
Oct 10 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
python交互模式基础知识点学习
Jun 18 Python
Python2及Python3如何实现兼容切换
Sep 01 Python
利用python实现汉诺塔游戏
Mar 01 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
杏林同学录(六)
2006/10/09 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
PHP xpath()函数讲解
2019/02/11 PHP
PHP函数积累总结
2019/03/19 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
使用js获取图片原始尺寸
2014/12/03 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
2019/05/16 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
django批量导入xml数据
2016/10/16 Python
利用aardio给python编写图形界面
2017/08/21 Python
pytorch标签转onehot形式实例
2020/01/02 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
学校消防安全制度
2014/01/30 职场文书
外贸专业求职信
2014/03/09 职场文书
校庆标语集锦
2014/06/25 职场文书
员工福利申请报告
2015/05/15 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书