Flask

Flask 是一个用 Python 编写的轻量级 Web 应用框架,被称为"微框架"。基于 WSGI(Web Server Gateway Interface)和 Jinja2 模板引擎。

Flask:https://flask.palletsprojects.com/en/stable/

jinja:https://jinja.palletsprojects.com/en/stable/

jinja2 中文文档:https://docs.jinkan.org/docs/jinja2/


一个 app.py 就是一个应用

python 复制代码
# render_template 是用于模板渲染的函数,而不是重定向或请求转发。
from flask import Flask, request, render_template
from datetime import datetime
# 使用 Flask 类(当前模块)创建一个对象
app = Flask(__name__)
class User:
    def __init__(self,name,age):
        self.name = name
        self.age = age
# 自定义一个过滤器
def datetime_format(value,format_string='%Y-%m-%d %H:%M:%S'):
    return value.strftime(format_string)
# 注册过滤器
app.add_template_filter(datetime_format,'datefmt') # datefmt 过滤器名称
# 视图映射
@app.route('/m1/<string:name>') # 127.0.0.1:5000/m1/zhangsan
def m1(name):
    return name
@app.route('/m2') # 127.0.0.1:5000/m2?num=10
def m2():
    # 获取请求参数
    return request.args.get('num',default=0,type=int).__str__() # 不能返回 int 类型
@app.route('/m3')
def m3():
    user = User('zhangsan',18)
    # 将请求重定向到模板文件,并传递参数
    return render_template('child.html',user=user,now=datetime.now())
# 启动服务
if __name__ == '__main__':
    app.run(debug=True) # debug 方式运行,保存修改后自动重启
    # 启动参数"Additional options"可以修改访问地址和端口:--host=0.0.0.0 --port=5000

index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
加载静态资源
<img src="{{ url_for('static', filename='aa.png') }}"/>
<link rel="stylesheet" href="{{ url_for('static', filename='aa.css') }}"/>
<script src="{{ url_for('static', filename='aa.js') }}"></script>
'|'使用过滤器
{{ user.name, now|datefmt }}
选择
{% if false %}
{% elif 1 == 1 %}
{% else %}
{% endif %}
循环
{% for i in range(3) %}
{% endfor %}
block
{% block footer %}
    占位
{% endblock %}
</body>
</html>

子模板

html 复制代码
继承模板,此处正常展示
{% extends "index.html" %}
{% block footer %}
    填充
{% endblock %}
后面内容不展示
相关推荐
duansamve1 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
duansamve1 天前
详解Flask中Session和Cookie
python·flask
duansamve1 天前
Flask中视图函数接收请求数据和返回响应实例
python·flask
梅雅达编程笔记2 天前
退款之后钱货两空:Flask售后退款状态机加库存回滚加原路退回
flask·毕设·状态机·电商系统·退款·售后·myd电商
梅雅达编程笔记3 天前
忘记密码只能找客服:Flask邮箱验证码重置密码加限流防爆破
flask·限流·毕设·电商系统·myd电商·找回密码·邮箱验证码
hhcgchpspk5 天前
flask服务端页面预防被爬措施
后端·python·flask·网络爬虫·防爬
Blockbuater_drug6 天前
《经典机器学习实战》第 5 课:把模型做成 Web 应用(UFO)
flask·pickle·模型部署·web应用·机器学习上线·ufo数据集·rest接口
梅雅达编程笔记8 天前
下单不付款库存被占?Flask定时任务自动取消超时订单+回滚库存
flask·毕设·定时任务·电商系统·apscheduler·myd电商·超时订单
薛定谔的猫-菜鸟程序员10 天前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
小咕聊编程14 天前
教育大数据可视化系统
python·django·flask