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抓取网页图片示例(python爬虫)
Apr 27 Python
Python变量作用范围实例分析
Jul 07 Python
Python制作简单的网页爬虫
Nov 22 Python
Python提取网页中超链接的方法
Sep 18 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
python机器学习之神经网络(一)
Dec 20 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
python flask框架实现传数据到js的方法分析
Jun 11 Python
python numpy--数组的组合和分割实例
Feb 24 Python
深入了解Python装饰器的高级用法
Aug 13 Python
Python安装Bs4的多种方法
Nov 28 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投票系统防刷票判断流程分析
2012/02/04 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
jQuery autocomplete插件修改
2009/04/17 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python面向对象之继承代码详解
2018/01/29 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
python实现图片转字符小工具
2019/04/30 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
描述RIP和OSPF区别以及特点
2015/01/17 面试题
大学生饮食连锁店创业计划书
2014/01/17 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
医院信息公开实施方案
2014/05/09 职场文书
现场施工员岗位职责
2015/04/11 职场文书
Python制作春联的示例代码
2022/01/22 Python