在Flask中使用Jinja2模板继承的好处包括代码复用、减少重复性工作、逻辑分离和更好的维护性。通过使用模板继承,可以创建一个基础模板,然后在其他模板中继承这个基础模板并重写或添加特定内容,从而实现页面的结构化和统一性。
使用Jinja2模板继承的方法如下:
base.html
,定义整个网站的共同结构、样式和脚本。基础模板中使用{% block %}
标签定义可被子模板重写的区域。<!DOCTYPE html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<header>
{% block header %}{% endblock %}
</header>
<main>
{% block content %}{% endblock %}
</main>
<footer>
{% block footer %}{% endblock %}
</footer>
</body>
</html>
{% extends %}
指令继承基础模板,使用{% block %}
标签重写或添加需要的内容。{% extends 'base.html' %}
{% block title %}
Home Page
{% endblock %}
{% block header %}
<h1>Welcome to my website</h1>
{% endblock %}
{% block content %}
<p>This is the content of the home page.</p>
{% endblock %}
render_template
函数渲染子模板,将内容动态填充到基础模板中。from flask import Flask, render_template
app = Flask(__name)
@app.route('/')
def home():
return render_template('home.html')
if __name__ == '__main__':
app.run()
通过以上方法,可以实现模板的重用和维护,使代码更加清晰和易于管理。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。