一、flask基础教程
jinja2 模板
数据处理
- {% if %}标签
{% if age < 18 %}
<p>还未成年,不能进网吧上网</p>
{% elif age == 18 %}
<p>刚刚成年,先去庆祝一下吧,再去上网</p>
{% else %}
<p>已经成年了,可以去网吧上网了</p>
{% endif %}
{% for %}标签
<ul>
{% for user in users %}
<li>{{ user }}</li>
<!-- 如果没有值,空的列表之类的,就会执行else语句 -->
{% else %}
<li>没有任何值</li>
{% endfor %}
</ul>
<!-- 遍历字典: --->
{% for key,value in person.items() %}
<!--{% for key in person.keys() %} 遍历字典的key -->
<!--{% for value in person.values() %} 遍历字典的值 -->
<p>{{ key }} => {{ value }}</p>
{% endfor %}
但是在Jinja2模板中,没有continue和break语句,所以我们不能使用他们来控制我们的循环。但是Jinja2模板给我们提供了for循环中的其他一些变量。
- loop.cycle()的使用
<!-- 假设 value=[1,2,3,4,5,6,7] -->
{% for value in values %}
<p class="{{ lopp.cycle('one','two') }}">{{ value }}</p>
{% endfor %}
<!-- 出来的效果为 -->
<p class="one">1</p>
<p class="two">2</p>
<p class="one">3</p>
<p class="two">4</p>
<p class="one">5</p>
<p class="two">6</p>
<p class="one">7</p>
flask 文档类型
强制返回xml格式文档
from flask import Response
r = Response(response="TEST OK", status=200, mimetype="application/xml")
r.headers["Content-Type"] = "text/xml; charset=utf-8"
return r