一、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

referer