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页面中。