Flask中的模板的使用

简介: Flask中的模板的使用

Flask中的模板的使用


简介:本文讲解Flask中的模板的使用。


Flask项目创建参考这篇文章:通过命令行的方式快速创建一个flask项目


创建模板文件


在应用程序目录下创建一个名为 templates 的文件夹,用于存放模板文件。在 templates 文件夹中创建一个名为 index.html 的 HTML 模板文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flask Template Example</title>
</head>
<body>
    <h1>Hello, Flask!</h1>
    <p>Welcome to Flask template example.</p>
</body>
</html>


模板中的变量


Flask 允许我们在模板中使用变量,以便动态地显示内容。可以在视图函数中将数据传递给模板,在模板中使用 Jinja2 模板语法来渲染变量。

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    username = 'John'
    return render_template('index.html', username=username)

if __name__ == '__main__':
    app.run(debug=True)

在模板中,我们可以通过双花括号 {{ variable }} 来渲染变量。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello, {{ username }}</title>
</head>
<body>
    <h1>Hello, {{ username }}!</h1>
    <p>Welcome to Flask template example.</p>
</body>
</html>

  • 运行结果展示


模板中的控制结构


除了渲染变量外,Flask 模板还支持使用控制结构,如条件语句和循环语句。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>User List</title>
</head>
<body>
    <h1>User List</h1>
    <ul>
        {% for user in users %}
        <li>{{ user }}</li>
        {% endfor %}
    </ul>
</body>
</html>

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    users = ['Alice', 'Bob', 'Charlie']
    return render_template('user_list.html', users=users)

if __name__ == '__main__':
    app.run(debug=True)

  • 运行结果展示


模板的继承


Flask 模板支持继承,这使得我们可以创建一个基础模板,并在其他模板中扩展和覆盖它。

base.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>
      <nav>
          <a href="/">Home</a>
          <a href="/about">About</a>
      </nav>
      {% block content %}
      {% endblock %}
  </body>
  </html>

index.html:

{% extends 'base.html' %}

{% block title %}Home - My Website{% endblock %}

{% block content %}
<h1>Welcome to My Website!</h1>
<p>This is the home page.</p>
{% endblock %}

  • 运行结果

编写一个运行的后端代码

相关文章
|
2月前
|
Python
Flask 模板标签语言的使用
Flask 模板标签语言的使用
23 4
|
2月前
|
自然语言处理 Python
六、Flask模板使用方法
六、Flask模板使用方法
15 0
|
4月前
|
前端开发 Python
使用 Flask 3 搭建问答平台(三):注册页面模板渲染
使用 Flask 3 搭建问答平台(三):注册页面模板渲染
|
6月前
|
前端开发 JavaScript Python
flask实战-模板实现公共导航
在Flask中实现模板继承,创建基础模板`base.html`,包含公共导航菜单。子模板`movie-extends.html`继承`base.html`,并定义主要内容。视图函数`movie_extends_view`渲染`movie-extends.html`,显示电影列表。通过`extra_css`和`extra_js`块添加页面特定的样式和脚本,实现在`movie-extends.html`中应用自定义CSS样式。运行应用,访问http://127.0.0.1:1027/movie-extends,页面显示定制的电影列表样式。
92 2
|
7月前
|
存储 移动开发 前端开发
Flask狼书笔记 | 03_模板
3 模板 模板(template):包含固定内容和动态部分的可重用文件。Jinja2模板引擎可用于任何纯文本文件。 3.1 模板基本使用
65 0
|
7月前
|
开发框架 Python
Web 框架 Flask 快速入门(一)flask基础与模板
🌴 Flask基础和模板 1、web框架的作用 避免重复造轮子,app程序不必关心于服务器的沟通方式,而专注于核心的业务逻辑实现。 稳定,可扩展性强
111 0
|
JavaScript 前端开发 知识图谱
flask-模板用法
flask-模板用法
59 0
|
前端开发 JavaScript 数据处理
Flask之jinja2模板(一)
Flask之jinja2模板(一)
|
数据可视化 定位技术 Python
可视化 | 分享一套Flask+Pyecharts可视化模板
可视化 | 分享一套Flask+Pyecharts可视化模板
|
前端开发 JavaScript Python
Flask之jinja2模板(三)
Flask之jinja2模板(三)