hand
_1_1_13
4
python3.X - Web - Flask1.1.1
共46篇
python3.X - Web - Flask1.1.1
返回栏目
0k
0.3k
1k
6k
0.6k
0.8k
0.3k
0.1k
0.2k
0.8k
0.6k
0.6k
0.1k
0.5k
0.2k
2k
0.3k
5k
2k
2k
1k
0.3k
1k
0.1k
1k
1k
0.5k
2k
2k
0.7k
1k
2k
0.1k
1k
0.1k
2k
2k
0.9k
5k
4k
1k
1k
3k
1k
0k
0k
返回python3.X - Web - Flask1.1.1栏目
作者:
贺及楼
成为作者
更新日期:2024-11-22 23:34:35
Python 的 Jinja2
是一个现代且设计简洁的模板引擎,广泛用于Web开发中。它允许开发者使用模板语言来动态生成文本输出,特别适合生成HTML、XML或电子邮件内容。以下是 Jinja2
的一些主要作用和特点:
Jinja2
提供了强大的模板功能,使得开发者能够编写更加清晰和可维护的模板代码,是现代Web开发中不可或缺的工具之一。
作用:从Flask传递信息到HTML(模版)
基本{{ info }}
方法{{% %}}
注释{{# #}}
注释{# {{page.book()}} #}
简单模版
python
@app.route("/", methods=["GET"])
def hello_flask():
all = User.query.filter_by().all()
info = "ok"
return render_template("index.html",all=all,info=info)
html
<p>{{all}}</p>
<p>{{info}}</p>
python
return render_template("index.html")
没参数也就没有的写
python
return render_template("index.html",all=all,info=info)
html
<p>{{all}}</p>
<p>{{info}}</p>
python
方式一:
return "fail"
方式二:
info = "error"
return info
html
<p>{{info}}</p>
python
方式一:
return ["A","B","C"]
方式二:
info = ["A","B","C"]
return info
html
<p>{{info[0]}}</p>
<p>{{info[1]}}</p>
<p>{{info[2]}}</p>
按顺序:显示ABC
python
info = User.query.filter_by(id=1)
return info
html
<ul>
{% for a in info %}
<li>{{a.name}}</li>
{% endfor %}
</ul>
迭代字典
{% for key, value in row.items() %}
{{ key }} {{ value }}
{% endfor %}
解释:
1.查数据库有多行多列,是可以的
2.jinja2的for循环可以遍历出来
注意:复杂的遍历去官网搜索
{% if 条件1 %}
语句块1
{% elif 条件2 %}
语句块2
{% else %}
不符合所有条件
{% endif %}
例子
<p>
{% for item in list1 %}
{% if item|length > 8 %}
{{ item }} <br>
{% elif item|length < 6 %}
{{ "wwwwww" }} <br>
{% else %}
{{ "qqqqqq" }} <br>
{% endif %}
{% endfor %}
</p>
xx是{{xx}}不用写括号
判断非空
{% if item %}
{{ item }}
{% endif %}
就跟python 的if item : 类似语句 - if xxx: else: - 判断有无,判断是否
or and
{% if flag=="A" or flag=="B" %}
在模版文件html里写上
let data = {{data|tojson}}
console.log(data)
要注意的是,全部数据不可以空,空的话pandas可以用内容 - df.fillna() - NaN转换,来解决 fillna(‘[]’)
python3.X - Web - Flask1.1.1
整章节共46节
快分享给你的小伙伴吧 ~