001----flask

flask---001

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快速使用

安装

javascript 复制代码
pip3 instatll flask

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

1.2 快速使用flask

python 复制代码
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 用户名密码登录

python 复制代码
from flask import Flask, render_template, request, redirect

app = 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()
javascript 复制代码
<!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>
相关推荐
CodeCraft Studio5 小时前
PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
开发语言·python·pdf·base64·aspose·aspose.pdf
困鲲鲲6 小时前
Python中内置装饰器
python
摩羯座-185690305946 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
爱隐身的官人7 小时前
cfshow-web入门-php特性
python·php·ctf
gb42152877 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL8 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%8 小时前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
蒋星熠8 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
爬虫程序猿8 小时前
《京东商品详情爬取实战指南》
爬虫·python
胡耀超8 小时前
4、Python面向对象编程与模块化设计
开发语言·python·ai·大模型·conda·anaconda