Здравствуйте!
Для передачи данных из Flask в обертку (wrap) и вывода их на веб-странице можно воспользоваться механизмом передачи контекста и параметров в функции рендеринга шаблонов. В Flask это можно сделать с помощью функции `render_template`, передавая необходимые данные в качестве аргументов. Вот общий план действий:
1. **Создайте шаблон с оберткой**: В вашем HTML-шаблоне создайте структуру, используя Jinja2, где вы будете выводить данные, а также отделите обертку от основного контента.
```html
<!-- templates/layout.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}My Website{% endblock %}</title>
</head>
<body>
<header>
<h1>My Website Header</h1>
</header>
<main>
{% block content %}{% endblock %}
</main>
<footer>
<p>My Website Footer</p>
</footer>
</body>
</html>
```
2. **Создайте отдельные страницы, наследуя обертку**:
```html
<!-- templates/page1.html -->
{% extends "layout.html" %}
{% block title %}Page 1{% endblock %}
{% block content %}
<h2>Page 1 Content</h2>
<p>{{ variable1 }}</p>
{% endblock %}
```
```html
<!-- templates/page2.html -->
{% extends "layout.html" %}
{% block title %}Page 2{% endblock %}
{% block content %}
<h2>Page 2 Content</h2>
<p>{{ variable2 }}</p>
{% endblock %}
```
3. **Создайте маршруты в приложении Flask, передавая данные**:
```python
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/page1')
def page1():
data1 = "Hello from Page 1"
return render_template('page1.html', variable1=data1)
@app.route('/page2')
def page2():
data2 = "Hello from Page 2"
return render_template('page2.html', variable2=data2)
if __name__ == '__main__':
app.run(debug=True)
```
4. **Запустите приложение и проверьте страницы**. Теперь при переходе по адресам `/page1` и `/page2` будут отображаться страницы с соответствующими данными, а обертка будет оставаться одинаковой.
При использовании этого подхода вы сможете динамически передавать данные в ваши страницы, а обертка будет оставаться универсальной для всех страниц вашего сайта.