jinja2模板,个人理解是为了网页代码与服务器代码分开,提供了一个服务器与html文件协同的规范,这样针对不同的路由,其显示页面会放在templates目录下。
flask使用render_template函数调用模板,另外需要了解jinja2变量过滤器,可以格式化变量,例如首字母大写等。jinja2还提供控制结构与宏,如:
{% if user %}
Hello, {{ user }}!
{% else %}
Hello, Stranger!
{% endif %}
jinja还有个大杀器是模板继承与类继承类似。
进一步由于jinja支持模板继承,那么进过不断演化,已经出现了一套网页模板供大家使用,这就是Flask-Bootstrap,该模板作为flask扩展需要安装
安装指令使用pip install falsk-bootstrap
对于自定义错误页面,错误页面可以继承当前工程的base.html,不需要继承bootstrap的base.html
jinja中如果需要使用链接可以使用url_for()获得静态或者动态url地址,
静态:url_for('index', _external=True) 返回 http://localhost:5000/
动态:,url_for ('user', name='john', _external=True) 的返回结果是 http://localhost:5000/user/john
flask会在其static文件夹下寻找静态文件,静态文件如 图标,图片,css等信息
flask本地化时间,使用flask-moment扩展
安装指令 pip install flask-moment
它需要依赖moment.js与jquery.js