Flask

简介: Flask

1.初识Flask

 1.1先谈一下python框架区别

Flask框架:
谈一下对python框架:
    django:大而全,内部提供ORM,Admin,中间件,Form,ModelForm,session,缓存,信号,CSRF
    flask:小而轻,可扩展性强
    tornado:小而轻,异步非堵塞


wsgi:最基本的都是这个

django:wsgiref

flask:werkzurg
       jinja2

View Code

 1.2我们先看一下flask简单使用

from flask import Flask

app = Flask(__name__)

@app.route("/index")
def index():
    return "index"

if __name__ == "__main__":
    app.run()

View Code

 1.3来聊一聊flask启动原理:

# 先创建一个对象
app = Flask(__name__)

启动方式一:参数默认就是这个,内部调用启动方式二
app.run("127.0.0.1",5000)

启动方式二:
from werkzeug.serving import run_simple
run_simple("127.0.0.1",8888,app)

分析:程序监听中,如果执行app()  =  app.__call__   ;详细看我博客python内置函数

View Code

  1.4配置参数

 1.5,response

方式一:直接返回字符串
    return ""
方式二:返回文件   静态文件配置:app = Flask(__name__,template_folder="templates")
    from flask import render_template
    return render_template("login.html")
方式三:重定向
    from flask import redirect
    return redirect("/index")

View Code

 1.6,路由控制

@app.route("/login",methods=["POST","GET"])

View Code

 1.7request参数获取:

from flask import request
    print(request.args)#get    获取url?参数
    print(request.form)#post    获取的是前端form表单里面的值
    print(request.files)#post   获取的是文件
    print(request.get_json())#post  获取的是json
    print(request.get_data())#post  获取的是字节

View Code

 1.8 模板变量传递以及渲染

**打散传参
from flask import render_template
dic = {"name":"zhangsan","age":11}
return render_template("login.html",dic=dic,**dic)

前端如何写
<h1>{{name}}{{age}}</h1>
<h2>{{dic}}</h2>
<h3>{{dic.name}}</h3>
<h3>{{dic["age"]}}</h3>

关于for循环:
{%for obj in arr%}
    {{obj.name}}
{%endfor%}

View Code

 1.9session

app.secret_key = "djaskdlas"

from flask import session
session["userinfo"] = "zhangsan"
session.get("userinfo")
del session["userinfo"]
"""
为了将账号密码加密需要由上面的配置,
flask只有session     session就是cookie会放在浏览器
"""
目录
打赏
0
0
0
0
100
分享
相关文章
如何封装接口返回结构?
本文详细探讨了API接口返回结构统一化的必要性及其带来的优势,如降低开发的心智负担、减少前端开发难度和提高代码可维护性等。同时也分析了其潜在的缺点,例如灵活性降低和开发成本增加等问题。文章进一步讨论了在Spring Boot中实现统一接口返回结构的具体方法和技术细节,包括如何处理HTTP状态码、返回单个字符串的情况以及如何封装无返回值的接口等。此外,还介绍了如何利用Spring Boot的`ResponseBodyAdvice`和`@RestControllerAdvice`等特性来自动包装控制器方法的返回值及异常处理,以达到更加一致和标准化的接口响应结构。
176 3
如何封装接口返回结构?
由于安全风险,安全领导者考虑禁止用AI生成代码
由于安全风险,安全领导者考虑禁止用AI生成代码
|
10月前
|
05 MongoDB对列的各种操作总结
文章总结了MongoDB中对字段(列)进行操作的方法,包括字段的添加、删除、重命名以及字段值的更新等实用技巧。
118 5
|
10月前
|
Pinia 是如何实现状态共享的?
Pinia 是如何实现状态共享的?
223 4
AI项目高昂成本与数据问题阻碍进展,2025年前30%的GenAI项目或将搁浅
AI项目高昂成本与数据问题阻碍进展,2025年前30%的GenAI项目或将搁浅
C 标准库 - <float.h>详解
`&lt;float.h&gt;` 是 C 标准库中的头文件,用于定义浮点数的属性和限制,包括有效数字位数(如 `FLT_DIG`)、最小最大值(如 `FLT_MIN` 和 `FLT_MAX`),以及特殊值(如 `FLT_INFINITY`)。它通过提供一系列常量和宏帮助程序员处理浮点运算的范围和精度问题。
详解 C 标准库 - <limits.h>
`&lt;limits.h&gt;` 是 C 标准库中的头文件,定义了各种基本数据类型的大小限制和特性,如 `CHAR_BIT`、`CHAR_MIN`、`CHAR_MAX` 等,涵盖了整数和字符类型的极限值。它提供了关键的宏常量,帮助程序员理解变量范围,确保代码的正确性和可移植性。
大模型、大数据与显示技术深度融合 加速智慧医疗多元化场景落地
大模型、大数据与显示技术深度融合 加速智慧医疗多元化场景落地
|
10月前
常见的请求状态码
常见的请求状态码
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问