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中的自省(反射)详解
Jun 02 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
python3+opencv3识别图片中的物体并截取的方法
Dec 05 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
python 数据提取及拆分的实现代码
Aug 26 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
python BlockingScheduler定时任务及其他方式的实现
Sep 19 Python
Python实现i人事自动打卡的示例代码
Jan 09 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
Pandas DataFrame求差集的示例代码
Dec 13 Python
Python实现为PDF去除水印的示例代码
Apr 03 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
使用无限生命期Session的方法
2006/10/09 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
javascript控制台详解
2015/06/25 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
美容师的职业规划书
2013/12/27 职场文书
办公室前台岗位职责
2014/01/04 职场文书
项目合作计划书
2014/01/09 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
体育活动总结范文
2014/05/04 职场文书
欢迎横幅标语
2014/06/17 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
JUnit5常用注解的使用
2021/07/02 Java/Android