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的
评论没有发现