Python Flask html 模板的继承
前言全局说明
一、安装flask模块
官方源:
pip3 install flask==2.3.2
国内源:
pip3 install flask==2.3.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
以上二选一,哪个安装快用哪个
flask 安装时间 2023-11
更多国内源: https://www.cnblogs.com/wutou/p/17949398
二、引用模块
from flask import Flask
三、启动服务
https://www.cnblogs.com/wutou/p/17949220
四、普通方式调用 html 文件写法
4.1.1 文件名:index.py
from flask import Flask app=Flask(__name__) @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': # app.debug = True # app.run(host='127.0.0.1',port = 5000) app.run(host='0.0.0.0',port = 5000)
4.1.2 文件名:index.html
<html lang="zh-cn"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type" /> <link href="/static/default.css" rel="stylesheet"> <link href="/static/github.css" rel="stylesheet" type="text/css" /> </head> <body> <h2>Hello Flask</h2> </body> </html>
html 内容是写死的,如果有1000个页面,要修改1000内容
4.2 访问连接:
4.3 效果:
五、变量方式传值给 html 文件写法
5.1.1 文件名:index.py
其他(略) return render_template('index.html', content='Hello Flask')
和 4.1.1 代码区别,加了 "content='>Hello Flask'"
5.1.2 文件名:index.html
<html lang="zh-cn"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type" /> <link href="/static/default.css" rel="stylesheet"> <link href="/static/github.css" rel="stylesheet" type="text/css" /> </head> <body> <h2>{{ content }} </h2> </body> </html>
和 4.1.2 代码区别,Hello Flask 改成 {{ content }} 变量
5.2 访问连接:
同上(略)
5.3 效果:
效果同上(略)
六、Html 变量索引方式调用
6.1.1 文件名:index.py
from flask import Flask app=Flask(__name__) @app.route('/') def index(): nums = [11, 22, 33] return render_template('index.html', nums = nums) if __name__ == '__main__': # app.debug = True # app.run(host='127.0.0.1',port = 5000) app.run(host='0.0.0.0',port = 5000)
6.1.2 文件名:index.html
<html lang="zh-cn"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type" /> <link href="/static/default.css" rel="stylesheet"> <link href="/static/github.css" rel="stylesheet" type="text/css" /> </head> <body> <h2>{{ nums[0] }} </h2> </body> </html>
6.2 访问连接:
同上(略)
6.3 效果:
七、extends 模板的继承
7.1.1 文件名:index.py
from flask import Flask app=Flask(__name__) @app.route('/') def index(): return render_template('index.html', content='Hello Flask') if __name__ == '__main__': # app.debug = True # app.run(host='127.0.0.1',port = 5000) app.run(host='0.0.0.0',port = 5000)
7.1.2 文件名:index.html
{% extends 'layout.html' %} {% block content %} <h2>{{ content }} </h2> {% endblock %}
{% extends 'layout.html' %} 意思是继承 layout.html 文件
{% block content %} {% endblock %} 中间的内容是,要放到模板里的位置
7.1.2 文件名:layout.html
<html lang="zh-cn"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type" /> </head> <body> <h2>laylout.html 模板继承</h2> {% block content %} {% endblock %} </body> </html>
7.2 访问连接:
7.3 效果:
继承了模板里的内容
八、include 引入
适合固定不变的继承(如开头和结尾)
8.1.1 文件名:index.py
同7.1.1 (略)
8.1.2 文件名:index.html
{% extends 'layout.html' %} {% block content %} <h2>{{ content }} </h2> {% include 'form.html' %} {% endblock %}
{% include 'form.html' %} 用 include 方式引入 form.html
8.1.3 文件名:form.html
<form action=""> <input type="text"> <input type="text"> </form>
8.2 访问连接:
8.3 效果:
include 引入的输入框
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://www.bilibili.com/video/BV11Y411h71J?p=31
https://blog.csdn.net/pick_ears/article/details/122093865
https://blog.csdn.net/gh254172840/article/details/81745338
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2022-01-11 Python模块之xlutils - 写入excel的xls文件
2022-01-11 Python模块之xlwt -写入excel的xls文件
2022-01-11 Python模块之xlrd - 读取excel的xls文件