国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Flask框架Jinjia模板常用語法總結

2020-02-15 22:28:38
字體:
供稿:網(wǎng)友

本文實例總結了Flask框架Jinjia模板常用語法。分享給大家供大家參考,具體如下:

1. 變量表示

{{ argv }}

2. 賦值操作

{% set links = [  ('home',url_for('.home')),  ('service',url_for('.service')),  ('about',url_for('.about')),] %}

3. if判斷

{% if not loop.first %}|{% endif %}

4. for 循環(huán)

{% for label,link in links %}   {% if not loop.first %}|{% endif %}   <a href="{{ link }}" rel="external nofollow" >{{ label }}</a>{% endfor %}

5. 定義測試函數(shù)

上面 loop.first 就是一個測試函數(shù),這個我們也可以自定義

定義是在Sample.py 里定義的,current_link是HTML中可使用測試函數(shù)名稱(可選)

@app.template_test('current_link')def is_current_link(link):  return link == request.path

HTML中,使用例子

<body>{% set links = [  ('home',url_for('.home')),  ('service',url_for('.service')),  ('about',url_for('.about')),] %}<nav>  {% for label,link in links %}    {% if not loop.first %}|{% endif %}    <a href="{% if link is current_link %}#    {% else %}    {{ link }}    {% endif %}    ">{{ label }}</a>  {% endfor %}</nav></body>

6. 塊block

Flask強大的地方就可以引用模板,而且非常方便。

這里不得不介紹block這個概念。

模板的文件一般放在templates文件夾下,我們這里新建一個HTML文件,存放模板,'base.html'

在這里面也,編排了整個頁面的排版,里面會用到很多block的占位符。

每個block都代表一段html語句塊,而這些塊在哪里定義呢,可以在當前的base.html中定義,也可以在別的html中定義。反正要有一處定義,沒有定義塊只是沒有效果而已

定義的時候,home.html 頂部必須說明繼承關系(如果py文件鏈接的是home.html,但home.html引用了base.html的模板,就要說明)

{% extends 'base.html' %}

塊的定義格式,endblock 后面塊名可以省略,有時候加上會讓結構更加明晰

{% block 塊名 %}  塊內(nèi)容{% endblock (塊名)%}

定義了塊之后,base.html中對應的塊,就會被這些塊內(nèi)容覆蓋。

塊的覆蓋情況

有一種情況,base.html中定義了block B 塊內(nèi)容1,但是在home.html也定義block B 塊內(nèi)容2,注意這時會優(yōu)先顯示內(nèi)容2,因為把內(nèi)容1覆蓋了。

理解起來,就是base.html是通用模板,我們可以直接引用過來,沒有問題,但是也可以自定義塊,修改通用模板的內(nèi)容,達到我們想要的效果。

還有一種情況,我們既不想不覆蓋通用模板的內(nèi)容,又想在其基礎上,增加一些東西,這也是可以的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 和平区| 广平县| 梁平县| 观塘区| 清镇市| 黄龙县| 元氏县| 易门县| 顺义区| 广灵县| 和政县| 磐石市| 芦山县| 大宁县| 西峡县| 桑日县| 福贡县| 沙洋县| 钟祥市| 东至县| 颍上县| 新河县| 通河县| 锦州市| 时尚| 象州县| 茶陵县| 河间市| 黔南| 德阳市| 四会市| 蛟河市| 自治县| 衡山县| 巫山县| 文昌市| 星子县| 黄浦区| 义乌市| 金平| 长岛县|