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使用多线程不断刷新网页的方法
Mar 31 Python
Python实现的数据结构与算法之基本搜索详解
Apr 22 Python
python通过openpyxl生成Excel文件的方法
May 12 Python
利用Python如何将数据写到CSV文件中
Jun 05 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
python打印文件的前几行或最后几行教程
Feb 13 Python
python实现字符串和数字拼接
Mar 02 Python
python多线程实现同时执行两个while循环的操作
May 02 Python
在pycharm中创建django项目的示例代码
May 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里的JS打印函数
2006/10/09 PHP
BBS(php &amp; mysql)完整版(七)
2006/10/09 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python中的字符串内部换行方法
2018/07/19 Python
Python3.6.x中内置函数总结及讲解
2019/02/22 Python
python操作kafka实践的示例代码
2019/06/19 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
Python常用外部指令执行代码实例
2020/11/05 Python
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
别名指示符是什么
2012/10/08 面试题
直接有效的自我评价
2014/01/11 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
药品促销活动方案
2014/02/14 职场文书
餐厅总厨求职信
2014/03/04 职场文书
质量保证书范本
2014/04/29 职场文书
安全生产承诺书范文
2014/05/22 职场文书
出生医学证明书
2014/09/15 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
Python深度学习之实现卷积神经网络
2021/06/05 Python
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL