Django框架封装外部函数示例

yipeiwu_com5年前Python基础

本文实例讲述了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框架的验证机制

这里写图片描述

这是为了防止跨域攻击,我们这里暂时不研究这个安全机制,来到settings.py文件注释掉下面这行

这里写图片描述

这样就不会报上面的那个错误了。

如果用户输正确的用户名和密码(jack、123),模板上{{ result }} 就是提示“登录成功”。

4.如何把userLogin函数写到外部?

在views.py文件同级下新建user.py文件

这里写图片描述

然后在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使用pandas处理大数据节省内存技巧(推荐)

python使用pandas处理大数据节省内存技巧(推荐)

一般来说,用pandas处理小于100兆的数据,性能不是问题。当用pandas来处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败。 当然,像Spark这类的...

djano一对一、多对多、分页实例代码

昨日内容: ORM高级查询 -filter id=3 id__gt=3 id__lt=3 id__lte=3 id__gte=3 -in /not in .filter(id__i...

Django objects.all()、objects.get()与objects.filter()之间的区别介绍

前言 本文主要介绍的是关于Django objects.all()、objects.get()与objects.filter()直接区别的相关内容,文中介绍的非常详细,需要的朋友们下面来...

深入解析Python中的lambda表达式的用法

普通的数学运算用这个纯抽象的符号演算来定义,计算结果只能在脑子里存在。所以写了点代码,来验证文章中介绍的演算规则。 我们来验证文章里介绍的自然数及自然数运算规则。说到自然数,今天还百度了...

Python实现调度算法代码详解

Python实现调度算法代码详解

调度算法 操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。目的是控制资源使...