Flask页面相关知识

更改jinja2模板的默认修饰符

different delimiters in jinja2 + flask

Flask中的jinja2模板中输出值的修饰符号与AngularJs中的修饰符一样,为了解决冲突,可以自定义默认模板的修饰符:

1
2
3
4
5
6
7
8
9
10
11
12
13
class CustomFlask(Flask):
jinja_options = Flask.jinja_options.copy()
jinja_options.update(dict(
block_start_string='<%',
block_end_string='%>',
variable_start_string='%%', #替换{{
variable_end_string='%%', #替换}}
comment_start_string='<#',
comment_end_string='#>',
))

//默认写法app = Flask(__name__)这里使用了上面自定义的类
app = CustomFlask(__name__)

这样输出值的修饰符就变成了%%,避开了与AngularJS的输出修饰符冲突。


输出静态文件

python flask - serving static files

1
2
3
4
5
from flask import url_for, redirect

@app.route('/')
def home():
return redirect(url_for('static', filename='index.html'))