一、模板的形成
模板的设计,可以看做是一个一层一层装饰的过程
- 模板(template),对应的是MTV结构里面的T,在flask里面主要用来进行对HTML的渲染,然后显示到用户面前。所以其基础是HTML
- 模板里面除了HTML语法之外,还包含了控制语句和很多有用的函数,以及一些有用的规则。
- 还可以通过自定义全局函数、全局变量、过滤器、测试器等函数来丰富模板的功能。
二、模板的组织
- 局部模板:可以让模板之间进行继承,实现重复子模板的重用
- 宏:同样地,子代码也能重用,其实它就相当于是模板里的“函数”,注意“宏”有一个非常好用的地方在于其可以用来加载静态资源,而且通过设置其中的local属性,可以从网络上找资源加载进来。
三、更丰富的生态
比如静态文件的加载,css和js的使用等
四、代码及注释
app.py
import os
from flask import Flask, render_template, flash, redirect, url_for, Markup
app = Flask(__name__)
app.secret_key = os.getenv('SECRET_KEY', 'secret string')
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
#先写一个简单的清单页面,然后再渲染到html里面,后面有数据库的时候还可以用数据库来做
user = {
'username': 'Grey Li',
'bio': 'A boy who loves movies and music.',
}
movies = [
{
'name': 'My Neighbor Totoro', 'year': '1988'},
{
'name': 'Three Colours trilogy', 'year': '1993'},
{
'name': 'Forrest Gump', 'year': '1994'},
{
'name': 'Perfect Blue', 'year': '1997'},
{
'name': 'The Matrix', 'year': '1999'},
{
'name': 'Memento',