render_template怎么连接两个html
时间: 2024-01-14 14:02:32 浏览: 115
flask-with-jinja:使用render_template和url_for使用Jinja Template启动Flask App
`render_template` 是 Flask 框架中用于渲染模板(template)的函数,它可以将数据渲染到指定的 HTML 模板中,然后返回给用户浏览器。如果你想要连接两个 HTML 模板,可以使用 Flask 中的继承机制。
具体来说,你可以先创建一个基础模板(base.html),在其中定义网页的基本结构和布局,然后在其他的 HTML 模板中继承这个基础模板,并在继承的模板中定义具体的内容。这样可以避免在每个 HTML 模板中都重复书写相同的 HTML 结构,提高代码的复用性和可维护性。
以下是一个示例代码,假设你的基础模板为 base.html,其他两个 HTML 模板为 template1.html 和 template2.html:
```
<!-- base.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}{% endblock %}</title>
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>
```
```
<!-- template1.html -->
{% extends 'base.html' %}
{% block title %}
Template 1
{% endblock %}
{% block content %}
<h1>Welcome to template 1</h1>
<p>This is the content of template 1.</p>
{% endblock %}
```
```
<!-- template2.html -->
{% extends 'base.html' %}
{% block title %}
Template 2
{% endblock %}
{% block content %}
<h1>Welcome to template 2</h1>
<p>This is the content of template 2.</p>
{% endblock %}
```
在 Flask 的视图函数中,你可以使用 `render_template` 函数来渲染这两个 HTML 模板:
```
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/template1')
def template1():
return render_template('template1.html')
@app.route('/template2')
def template2():
return render_template('template2.html')
```
当用户访问 `/template1` 时,Flask 将会渲染 base.html 和 template1.html,返回给用户浏览器;当用户访问 `/template2` 时,Flask 将会渲染 base.html 和 template2.html,返回给用户浏览器。这样就实现了连接两个 HTML 模板的效果。
阅读全文