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 相关文章推荐
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
pycham查看程序执行的时间方法
Nov 29 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
Dec 30 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
Jul 31 Python
python中count函数简单的实例讲解
Feb 06 Python
matplotlib 对坐标的控制,加图例注释的操作
Apr 17 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
Python同时迭代多个序列的方法
Jul 28 Python
如何使用Python调整图像大小
Sep 26 Python
python numpy中setdiff1d的用法说明
Apr 22 Python
python实现自定义日志的具体方法
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函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
js canvas仿支付宝芝麻信用分仪表盘
2016/11/16 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
Windows下PyMongo下载及安装教程
2015/04/27 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python中encode()方法的使用简介
2015/05/18 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
Python语言快速上手学习方法
2018/12/14 Python
如何教少儿学习Python编程
2020/07/10 Python
python中Django文件上传方法详解
2020/08/05 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
留学顾问岗位职责
2014/04/14 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
货款欠条范本
2015/07/03 职场文书
python实现A*寻路算法
2021/06/13 Python
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript