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)详解
Apr 13 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
python多线程socket编程之多客户端接入
Sep 12 Python
python实现发送邮件功能代码
Dec 14 Python
浅谈pytorch和Numpy的区别以及相互转换方法
Jul 26 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
python文件写入write()的操作
May 14 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
Jun 01 Python
Python Mock模块原理及使用方法详解
Jul 07 Python
详解Python 中的容器 collections
Aug 17 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
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
jQuery基本过滤选择器使用介绍
2013/04/18 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
javascript实现简易计算器
2017/02/01 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
python选择排序算法的实现代码
2013/11/21 Python
Python中itertools模块用法详解
2014/09/25 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
django foreignkey(外键)的实现
2019/07/29 Python
Django中的用户身份验证示例详解
2019/08/07 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
python 怎样进行内存管理
2020/11/10 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
毕业学生推荐信
2013/12/01 职场文书
计算机软件个人的自荐信范文
2013/12/01 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
美术教师岗位职责
2014/03/18 职场文书
运动会演讲稿300字
2014/08/25 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书