Flask模板和静态文件(一)

2023-05-05 16:12:54 浏览数 (1)

lask是一款基于Python的Web框架,它支持使用模板和静态文件来构建Web应用程序。模板和静态文件可以帮助我们轻松地组织和管理Web应用程序中的视图和资源。

Flask模板

Flask使用模板引擎来生成HTML页面。模板引擎允许我们将动态数据嵌入到HTML模板中,从而生成最终的HTML页面。Flask支持多种模板引擎,包括Jinja2和Mako等。在本文中,我们将使用Jinja2模板引擎来介绍Flask模板的使用。

模板文件的位置 Flask默认会在应用程序根目录下的'templates'子目录中查找模板文件。因此,我们需要在应用程序根目录下创建'templates'子目录,并将所有的模板文件放在该子目录中。下面是一个示例目录结构:

代码语言:javascript复制
├── myapp/
│   ├── __init__.py
│   ├── templates/
│   │   ├── index.html
│   │   ├── about.html
│   │   └── base.html

Jinja2模板语言

Jinja2是一种流行的模板引擎,它支持动态数据、模板继承、过滤器和控制流语句等功能。在Flask中使用Jinja2模板引擎非常简单。我们只需要在视图函数中调用'render_template()'函数,并传入模板文件的名称和动态数据即可。下面是一个使用Jinja2模板引擎的示例:

代码语言:javascript复制
from flask import Flask, render_template

app = Flask(__name__)

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

在上面的示例中,我们定义了一个视图函数'index',并将模板文件'index.html'渲染为响应。在渲染模板文件时,我们使用了Jinja2模板语言来将动态数据'name'嵌入到HTML模板中。下面是一个简单的'index.html'模板文件:

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

在上面的模板文件中,我们使用了双花括号'{{ }}'来将变量'name'嵌入到HTML页面中。

0 人点赞