Django的模板片段是一個幫手在JavaScript客戶端框架中使用的模板。
簡介
通常情況下,當你使用一個客戶端JavaScript框架(如骨幹網/燼/角/ wathever),你會想小模板來渲染頁面。這個問題開始時:
- 你還是希望能夠使用Django的模板引擎
- 你要定義你的小模板,陰涼的地方。
這些都是2的問題,這Django的應用程序試圖解決的問題。它還配備了輔助功能對於那些種模板,就像從Django的1.5開發的代碼逐字templatetags,允許你定義一個區域,其中的Django不會解釋什麼,以避免與模板語言,比如mustache.js衝突。
有了它,您可以定義在同一個目錄中所有的小模板,你就可以訪問它們在片段的JavaScript對象,其中包含了(按Django的渲染)的模板。
安裝
從點子:
PIP安裝Django模板片段
從setup.py:
混帳混帳克隆://github.com/Psycojoker/django-template-fragments.git
CD Django的模板片段
蟒蛇setup.py安裝
創建要在其中存儲您的片段,再加入FRAGMENTS_DIR您settings.py一個目錄,它必須是一個絕對路徑。
我喜歡這樣定義我FRAGMENTS_DIR:
進口OS
PROJECT_PATH = os.path.abspath則(os.path.split這樣的(__ __文件)[0])
SUBPROJECT_PATH = os.path.split這樣(PROJECT_PATH)[0]
FRAGMENTS_DIR = os.path.join(SUBPROJECT_PATH,“碎片”)
這將其設置為目錄PROJECT_NAME /片段(在您的settings.py是PROJECT_NAME / PROJECT_NAME / settings.py)。
接下來,寫在這個DIR一些小的HTML片段。
再加入這樣的事情你urls.py
網址(R'^',包括('fragments.urls')),
並放在你的基本模板
<腳本類型=“文/ JavaScript的”SRC =“{%網址片段%}”/>
這會給你一個包含所有的片段一個JavaScript對象片段,關鍵是片段的文件名不帶擴展名。
例如:object_list.html將在片段訪問對象是這樣的:fragments.object_list
如果你把片段在FRAGMENTS_DIR一個子目錄,關鍵將是文件名沒有與其中/被_替換子目錄路徑及其延伸加盟。
看不清?這裡有一個例子:文件FRAGMENTS_DIR / 1/2 / three.html將在關鍵one_two_three訪問。
HamlPy支持
如果您已經安裝HamlPy和你的片段名.haml結束,Django的模板片段會考慮到這一點,並使用HamlPy生成HTML。
逐字代碼
你必須把碎片在你安裝的應用程序在settings.py這個工作。
我已經採取了代碼的Django 1.5的Dev分支允許使用逐字templatetags,以避免Django的模板語法和其他模板引擎的語法之間的衝突(如鬍子)。
例如:
{%負載片段%}
{{will_be_interpreted}}
{%逐字%}
{{wont_be_interpredted}}
{%endverbatim%}
您也可以選擇一個特定的結束標記在Django文檔描述。
例如從文檔:
{%負載片段%}
{%逐字myblock%}
&NBSP;避免通過{%逐字%} {%endverbatim%}塊模板渲染。
{%endverbatim myblock%}
忽略的文件擴展
默認情況下,Django的模板片段忽略每一個與其中的一個結尾的文件:.pyc文件.swo .SWP〜
您可以通過定義在你的settings.py FRAGMENTS_IGNORED_FILE_TYPES指定自己的列表
要求:
- 在Python中
- 在Django的
評論沒有發現