python基于框架flask模板template实现

python基于框架flask模板template实现

flask入门

https://flask.palletsprojects.com/zh-cn/stable/quickstart/

项目demo

https://gitee.com/kcnf-python/python-flask

项目结构

部分代码说明

统一入口
复制代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
统一入口:创建应用并启动服务器
"""
from app import create_app

# 创建 Flask 应用实例(声明式注册所有蓝图)
app = create_app()

if __name__ == '__main__':
    # 获取主机和端口(可从环境变量读取,默认 0.0.0.0:5000)
    host = '0.0.0.0'
    port = 5000
    debug = app.config.get('DEBUG', False)
    app.run(host=host, port=port, debug=debug)
templates

更多实现参考上面源码

复制代码
{% extends "base.html" %}

{% block title %}用户信息{% endblock %}

{% block content %}
<h1>用户信息</h1>
<div class="user-card">
    <p><strong>姓名:</strong> {{ user.name }}</p>
    <p><strong>邮箱:</strong> {{ user.email }}</p>
    <p><strong>年龄:</strong> {{ user.age }}</p>
</div>

<h2>爱好列表</h2>
<ul>
    {% for hobby in user.hobbies %}
    <li>{{ hobby }}</li>
    {% endfor %}
</ul>

{% if user.age >= 18 %}
    <p style="color: green;">成年人</p>
{% else %}
    <p style="color: red;">未成年人</p>
{% endif %}
{% endblock %}
加载注入

重点引入render_template,代码实现

复制代码
from flask import Blueprint, jsonify, request, render_template


# 模拟用户数据
fake_user = {
    "name": "张三",
    "email": "zhangsan@example.com",
    "age": 25,
    "hobbies": ["阅读", "编程", "游泳"]
}

@bp.route('/profile')
def profile():
    return render_template('user.html', user=fake_user)

验证结果