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实现从web抓取文档的方法
Sep 26 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
python opencv判断图像是否为空的实例
Jan 26 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
Django中自定义查询对象的具体使用
Oct 13 Python
Python字符串格式化输出代码实例
Nov 22 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
Pycharm中import torch报错的快速解决方法
Mar 05 Python
Python改变对象的字符串显示的方法
Aug 01 Python
python里反向传播算法详解
Nov 22 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 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
火车头采集器3.0采集图文教程
2007/03/17 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
走出JavaScript初学困境—js初学
2008/12/29 Javascript
javascript 常用代码技巧大收集
2009/02/25 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
浅谈Python爬虫基本套路
2019/03/25 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
巾帼建功标兵事迹材料
2014/05/11 职场文书
党的生日演讲稿
2014/09/10 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
2015年环保局工作总结
2015/05/22 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
mybatis 获取更新记录的id
2022/05/20 Java/Android