python-flask框架学习笔记(二)--templates(模板)
2019-04-16 19:48
351 查看
模板就是指能够呈现给用户去看的网页结构,在flask项目中,要求创建一个叫templates的文件夹,用来存放前端的文件
Flask的模板是以来与Jinja2的模板引擎,Jinja2官网:http://jinja.pocoo.org/
*怎样更改模板文件夹的名字请看学习笔记(一)
还是先看一个示例
这是flask代码段
from flask import Flask,render_template app = Flask(__name__) @app.route('/f1') def f1(): return render_template('f1.html') if __name__ == '__main__': app.run(debug = True)
这是f1.html代码段
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>这是f1的路由渲染到的网址:f1.html</h1> </body> </html>
运行代码段,打开浏览器输入localhost:5000/f1,会得到如下结果
2.渲染模板的时候是可以传参的
示例:
flask代码段
from flask import Flask,render_template app = Flask(__name__) @app.route('/f1') def f1(): return render_template('f1.html',name='Xiaomin',hometown='Chengdu') if __name__ == '__main__': app.run(debug = True)
html代码段
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>{{name}} comes from {{hometown}}</h1> </body> </html>
运行结果
语法:传参是只需要在’xxx.html’后面跟上变量名=变量值,多个变量用,隔开即可。传递的参数可以是字符串,数值,列表,字典等。
如果是字符串数值等在html文件中使用时用{{}}把变量名括起来即可
如果是列表可以使用
{% for x in list %} 表达式 {% endfor %}
类似的方法还有
{% if %}
{% elif %}
{% else %}
{% endif %}
3.模板的继承
1.在父模板中需要定义出哪些内容在子模板中是可以被重写的(默认是不能改的),意思是在父模板中可以正常显示,没任何影响,另外在子模板中是可以被重写的
语法:
{% block 块名 %}
定义在父模板中正常显示的内容
{% endblock %}
2.子模板中需要指定继承自哪个模板
语法:
{% extends ‘父模板名称’ %}
重写父模板中指定的内容
{% block 块名 %}
此处代码会覆盖掉父模板中同名的block内容
{% endblock %}
相关文章推荐
- python-flask框架学习笔记(三)--request(请求)
- python-flask框架学习笔记(七)--完整的flask框架怎么写
- 三十三、python学习之Flask框架(五)模板:WTF表单、CSRF跨站请求伪造、模板特有函数&变量
- 基于python的web框架——Flask 学习笔记
- python-flask框架学习笔记(五)--一(多)对多关系映射在SQLAlchemy中的实现
- Python Flask框架连接Mysql 学习笔记
- 三十二、python学习之Flask框架(四)模板:jinja2模板、过滤器、模板复用(继承、宏、包含)、了解CSRF跨站请求攻击
- python-flask框架学习笔记(四)--ORM框架(模型)
- 三十五、python学习之Flask框架(七)数据库:Flask对数据库的基本操作、常见关系模板、数据库迁移、综合案例:图书管理
- Python学习:Flask框架和jinja2模板
- Flask框架学习笔记(一)安装篇(windows安装与centos安装)
- PYTHON框架之DJANGO学习笔记(十二)
- python flask学习笔记(四)-数据库操作
- Python的Flask开发框架简单上手笔记
- Flask python 微框架学习(一)
- python基础学习-flask web框架
- Python框架之Django学习笔记(二)
- Python Webk框架学习 Flask
- Flask学习笔记-在Bootstrap框架下Web表单WTF的使用
- Python的Flask框架标配模板引擎Jinja2的使用教程