当前位置: 首页 > news >正文

001----flask

flask---001

    • flask与django对比
    • 今日概要
    • 问答
    • 今日详细
    • 1.flask快速使用
    • 1.2 快速使用flask
    • 1.3 用户名密码登录

flask与django对比

django是个大而全的框架,flask是一个轻量级的框架。
django内部为我们提供了非常多的组件:orm/session/cookie/admin/from/modeform/路由/视图/模板/中间件/分页/auth/comtenttype/缓存/信号/多数据库连接

flask框架本身没有太多的功能:路由/视图/模板(jinja2)/session/中间件,第三方组件非常齐全

django的请求处理逐一封装和传递;flask的请求是利用上下文来实现的。

今日概要

  1. flask的快速使用
  2. 实现一个xx管理系统
  3. 蓝图

问答

1.什么是jwp?
2.cmdb实现原理?
3.都用到了那些命令?
4.遇到过哪些bug?
5.什么是开封封闭原则?

今日详细

1.flask快速使用

安装

pip3 instatll flask

在这里插入图片描述

1.依赖wsji Werkzeug web服务网关接口

1.2 快速使用flask

from flask import Flask
app = Flask(__name__)@app.route('/index')
def index():return 'hello world'if __name__ == '__main__':app.run(debug=True)

总结
1.flask框架是基于werkzeug的wsji实现,flask自己没有wisg
2.用户请求一旦到来,就会执行app.__call__方法。
3.写flask标准流程

1.3 用户名密码登录

在这里插入图片描述

from flask import Flask, render_template, request, redirectapp = Flask(__name__)@app.route('/login', methods=['GET', 'POST'])
def login():if request.method == 'GET':# return '<h1>Welcome to Flask Login</h1>'return render_template('login.html')# return jsonify({'code':1000,'data':[1,2,3]})user = request.form.get('user')pwd = request.form.get('pwd')if user == '123' and pwd == '123':return redirect('/index')error = '用户名或密码错误'return render_template('login.html', error=error)@app.route('/index')
def index():return '首页'if __name__ == '__main__':app.run()
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>用户登录</h1><form method="post"><input type="text" name="user"><input type="text" name="pwd"><input type="submit" name="提交"><span style="color: red">{{error}}</span></form>
</body>
</html>

相关文章:

  • C#,JavaScript实现浮点数格式化自动保留合适的小数位数
  • Flutter 中的 SliverLayoutBuilder 小部件:全面指南
  • Flutter:革新移动开发的开源框架
  • Android 图表开发开源库 MPAndroidChart 使用总结
  • C++面试题其二
  • 学习小心意——python的构造方法和析构方法
  • Configure Google Chrome Settings with Group Policy
  • B端UI设计,演绎高情逸态之妙
  • 生物制药企业选择谷歌云的理由有哪些?
  • PCIe的链路状态
  • Linux 内核之 mmap 内存映射触发的缺页异常 Page Fault
  • HTTP 的三次握手
  • 【MATLAB高级编程】入门篇 | 向量化编程
  • 【并发程序设计】11.进程间通信
  • 如何利用CXL技术突破内存墙?-2
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [iOS]Core Data浅析一 -- 启用Core Data
  • CentOS从零开始部署Nodejs项目
  • const let
  • Git的一些常用操作
  • Koa2 之文件上传下载
  • 爱情 北京女病人
  • 从输入URL到页面加载发生了什么
  • 高度不固定时垂直居中
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 嵌入式文件系统
  • 如何学习JavaEE,项目又该如何做?
  • 我有几个粽子,和一个故事
  • 用jQuery怎么做到前后端分离
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • $.ajax中的eval及dataType
  • (C#)获取字符编码的类
  • (C#)一个最简单的链表类
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (rabbitmq的高级特性)消息可靠性
  • (二)JAVA使用POI操作excel
  • (二)linux使用docker容器运行mysql
  • (二十三)Flask之高频面试点
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (一)、python程序--模拟电脑鼠走迷宫
  • (转)C#调用WebService 基础
  • (转)mysql使用Navicat 导出和导入数据库
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET CLR基本术语
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET+WPF 桌面快速启动工具 GeekDesk
  • .net反编译的九款神器
  • .net连接MySQL的方法