Django封装外部函数

2023-11-10

需求:我们来模拟用户登录,验证是否输入正确的用户名和密码

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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django封装外部函数 的相关文章

随机推荐

  • 【C++】详解inline

    2023年8月28日 周一晚上 目录 优点 缺点 使用条件 为什么调用函数会有开销 举例说明 优点 当使用inline关键字声明一个函数时 编译器会将函数体内联到所有调用该函数的地方 这可以提高执行效率 因为无需进行函数调用的开销 缺点 但
  • android 日期控件

    相关布局文件
  • android:OKHttp的使用

    1 之前学习了两种基于http访问服务器的方法 一种是HttpURLConenction 一种是Apache下的HttpClient 说实话 这两种方法操作起来都不是很简单明了 所以当前首选的网络通信库是由Square公司开发的OKHttp
  • 有关C++,Qt中使用指针的注意事项

    1 指针一般在创建的时候都应该初始化 除非你能保证要么你不会用到这个指针 要么在你使用之前它以及被被初始化了 如果不初始化 它就是野指针 在Debug模式下 VC 编译器会把未初始化的栈内存上的指针全部填成 0xcccccccc 当字符串看
  • RUNOOB python练习题6 斐波那契数列

    用来练手的python 练习题其六 原链接 python练习实例6 题干 斐波那契数列 斐波那契数列可以说是很好的递归理解工具了 这里就用递归实现一下斐波那契数列 源代码如下 返回fibonacci数列中某一项的数值 def Fibonac
  • 【面试题】2023年最新前端面试题-react篇

    原文见 语雀 https www yuque com deepstates interview hia3k3 核心概念 元素渲染 组件 props state refs 使用场景 如何创建 如何访问 组件通信 父子 祖孙 兄弟组件通信 生命
  • 【golang/go语言】Go语言代码实践——高复用、易扩展性代码训练

    某个项目里有一段老代码写的不是很好 想着能否通过自己掌握的知识 将其改善一下 感兴趣的小伙伴可以通过了解背景和需求 自己试想下该如何实现 如果有更好的方案也欢迎留言讨论 1 背景及需求 1 背景 假设我们的下游提供了一个定时任务接口Cron
  • linux编译命令——make -j18

    项目越来越大 每次需要重新编译整个项目都是一件很浪费时间的事情 Research了一下 找到以下可以帮助提高速度的方法 总结一下 1 tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4 5小时减少到了5分钟 也许这
  • Browsersync的安装及使用方法

    Browsersync介绍 Browsersync是浏览器同步测试工具 Browsersync能让浏览器实时 快速响应文件更改 html js css sass less等 并自动刷新页面 省去手动F5的事件 更重要的是 Browsersy
  • 模拟电路设计(24)---几种不同类型的A/D转换器的转换原理

    A D转换器是将模拟信号变换成相应的数字信号的装置 今天来介绍几种不同类型的A D转换器的转换原理 双积分式A D转换器的转换原理 这种转换本质是一种V T 电压 时间 的转换 如下图所示 它的一次转换基本工作原理可以分成三个工作阶段 双积
  • 为什么要学设计模式?

    01 什么是设计模式 设计模式 Design Pattern 代表了最佳的实践 通常被有经验的面向对象的软件开发人员所采用 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案 这些解决方案是众多软件开发人员经过相当长一段时间的试
  • 亚马逊云科技 云技能孵化营——我的云技能之旅

    文章目录 每日一句正能量 前言 活动流程 后记 每日一句正能量 不能在已经获得足够多的成功时 还对自己的能力保持怀疑 露出自信的微笑 走出自信的步伐 做一个自信的人 前言 亚马逊云科技 Amazon Web Services 是全球云计算的
  • 事务的隔离级别

    脏读 脏读是指某一个事务读取到了其他事务未提交的数据 如果此数据回滚 将导致读取到的数据是错误的数据 不可重复读 指某个事务在开启后 读取某个范围或者某条数据时 在此事务未结束的时间里内 其他事务对表内的数据进行了添加 或者更改了某一条或者
  • 关于工作流应用的思考

    我今天在学习的过程中突然思考了一个问题 即工作流在多数企业中用不起来主要有两个原因 1 信息化程度不够 2 工作流不够灵活 下面我以大学业务管理为例 对以上两个原因进行说明 由于各个学院各个单位的系统相互独立 所以学院内部的工作通常由内部系
  • 数据结构之图的遍历

    什么是图的遍历 图的遍历是对一张图中所有节点进行访问的过程 在图遍历中 我们从图中的某个节点开始 沿着边一直访问其他节点 直到访问完所有与该节点有连通关系的节点 遍历过程中需要遵循一定的遍历规则 常见的有深度优先遍历和广度优先遍历 深度优先
  • ECCV2022 多目标跟踪(MOT)汇总

    一 Towards Grand Unification of Object Tracking 作者 Bin Yan1 Yi Jiang2 Peize Sun3 Dong Wang1 Zehuan Yuan2 Ping Luo3 and Hu
  • 在windows下面使用flex和bison编写文件解析器

    本文的目的是介绍如何解决在windows下使用flex和bison编写文件解析器的一些问题 我水平不高 对与flex bison gnu linux也没有什么深刻的理解 只是觉得对于这方 面的具体的问题好像没有人提及 所以把自己在使用过程中
  • Spring Boot中的静态资源应该放在哪里?

    Spring Boot中的静态资源应该放在哪里 在开发基于Spring Boot的Web应用程序时 我们经常需要处理静态资源 如CSS样式表 JavaScript脚本和图像文件等 Spring Boot提供了默认的静态资源路径和规则 但我们
  • 波特率(baud)与比特率(bit/s)的差别

    波特率 表示每秒钟传送的符号数 比特率 表示每秒钟传送的比特数 例 传输使用256阶符号 每8bit代表一个符号 资料传送速率为120字符 秒 则波特率就是120baud 比特率是120 8 960bit s 此例中 120baud 120
  • Django封装外部函数

    需求 我们来模拟用户登录 验证是否输入正确的用户名和密码 1 构建登录表单