用于安全嵌入mustache.js模板或其他javascript模板的django模板标记。

django-jstemplate的Python项目详细描述


======
django jstemplate
=====


图片::https://travis ci.org/mjumbewu/django jstemplate.png
:alt:build status
:target:https://travis ci.org/mjumbewu/django jstemplate
。图片::https://coveralls.io/repos/mjumbewu/django-jstemplate/badge.png?branch=master
:alt:coverage status
:target:https://coveralls.io/r/mjumbewu/django jstemplate
。图片::https://pypip.in/v/django jstemplate/badge.png
:目标:https://crate.io/packages/django jstemplate/
…图片::https://pypip.in/d/django jstemplate/badge.png
:target:https://crate.io/packages/django jstemplate/

a templatetag framework便于将"mustache.js"和"dust.js"或"handlebars.js"或其他javascript模板与django模板集成。此外,还将
将模板包装在"icanhaz.js"等库所需的元素中。
django js template s是可扩展的,因此,如果您喜爱的模板库不包含在其中,则很容易添加。灵感来源于"django icanhaz"。_ mustache.js:http://mustache.github.com/
。_ dust.js:http://akdubya.github.com/dustjs/
。_把手:http://handlebars js.com/
…_ icanhaz.js:http://icanhazjs.com/
。_ django-icanhaz:http://github.com/carljm/django-icanhaz


快速使用
----


(阅读"阅读文档"的完整文档

_阅读文档:http://django jstemplate.read the docs.org/en/latest/

js
mv-mustache.js-app/static/libs/


``app/js template s/main.mustache``:



<;div>;
<;p>;这是{{{name}}}}{{{name}}}}'app模板<;p>;
<;
< lt;div>;

>
=````` app/templates/main.html`:



>
>

>


>
HTML>;
<;head>;
<;script-src="https://ajax.googgleapis.com/ajax/libs/jquery/1.7.1/jquery.js">;
<;
<;script-src="{{静态网址}}}libs/musache.js">;
<;script-src="{{{{{{静态网址}}libs/django.musache.js">;
><;script>;lt;
>;lt;lt;
>;lt;lt;
>;lt;lt;lt;
<><;/head>;

<;body>;
<;div id="dynamic area">;

{%mustachejs"main"%}

<;script>;
$(document).ready(function(){

var$area=$('"dynamic area")
,template;


template=mustache.template('main');
$area.html(template.render());

<;/body>;
<;/html>;



``运行:

js template/tests/project/manage.py test



reasonal
——


django templates使用``{``和``}`作为模板之间的冲突
变量标记和`胡子。js``使用它们产生了多种解决方案。`一个解决方案``简单地将`[``和`]]``替换为`{{``和`
``}`在``Mustachejs``模板标记中;另一个``在django模板标记器已经损坏django模板块中的逐字文本
之后,进行了一次有效的尝试来重构django模板块中的逐字文本。

无论如何,我更喜欢将javascript模板保存在一个专用的
目录中的单独文件中,以避免服务器端和客户端模板之间的混淆。因此,这个解决方案本质上只是一个"include"标记,避免了将包含的文件解析为django模板。

…_一个解决方案:https://gist.github.com/975505
。_另一个:https://gist.github.com/629508




使用django 1.9

>1.3.7
----


-错误修复:在使用无效正则表达式匹配模板时自动失败。


>1.3.6
----


-错误修复:在"innerhtml"(原来是"innerhtml")上修复大小写

<1.3.5
----


-使用"document.getelementbyid"和`` innerHTML``而不是依赖jquery
来获取把手模板的文本。
-在把手标记中切换预编译和注册部分的顺序,
,以便部分可以使用已编译的模板。

1.3.4
----


-修复与Python3.2的兼容性。python 3.2不支持显式unicode文本(即u'…')
,并导致语法错误。在python 3.3中,支持恢复了
。python 2.6和2.7允许使用unicode字符串文本,默认值为"from uu future_uu import unicode_u literals",因此我们在这里使用它。


1.3.3
----


-对可翻译字符串进行排序,使结果在python的各个版本之间保持一致。

1.3.2
----



-所有模板呈现程序都处理Unicode字符。

<1.3.1
----

-错误修复:注册handlbars部分的闭包没有包装在
括号中。


1.3.0
----

-添加一个短翻译表单::

{{{this is translatable'}

1.2.1
----

-允许对
handlebars.js标记进行可选的预编译和部分注册。例如::

{%handlebars js'(.*)'预编译寄存器}


这将向"handlebars"添加一个"templates"对象,并将所有
模板注册为用作部分。


1.2.0
----

-添加handlebars.js支持

1.1.1
----


-fix安装脚本要求

1.1.0
----

-python 3支持!

1.0.3
----

-将static/mustache/js/文件夹移到static/libs/

<1.0.2
----


-更新清单文件以使用"js template"文件夹,而不是"mustachejs"

1.0.1
----

-简化模板标记方法,并在in
模板标记模块
-更新文档中的项目引用

1.0.0
----

-将项目重命名为"django jstemplate"(来自"django mustachejs")
-将"mustacheraw"模板标记重命名为"rawjstemplate"
-将"mustacheich"模板标记重命名为"icanhazjs"

0.8.3
----


-修复makemessages命令中的错误标识符名称

<0.8.2
----


-修复filesystemregexfinder,使其与配置中指定的扩展名完全匹配,而不再修复makemessages以正常工作随着最近的代码更新

>0.8.0
----


-让regex查找程序尊重mustachejs-exts设置
-更新普通文件查找程序以使用全局模式


>0.7.4
----

-fix i18n preprocessor for python 2.6 compatibility

0.7.3
----


-co正确转义的翻译字符串。

>0.7.2
----


-将搜索模式更改为非贪婪模式。


0.7.1
----


-使用新行处理翻译字符串。

<0.7.0
----

-从django icanhaz拉入commit以使用常规
表达式。

-添加预处理框架和i18n的预处理器。

-劫持makemessages命令以查找js模板消息。

>0.6.0
----

-添加"dustjs"标记以插入脚本块以创建已编译的dustjs模板。感谢"gehan gonsalkorale<;https://github.com/gehan>;` `.

<0.5.0
----


-添加"mustache raw"标记以仅插入mustacehe模板的原始文本。
感谢greg hinch。

-添加"mustachech"标记以按icanhaz的预期插入mustache脚本块。

0.4.1(2012.01.09)
----

-固定模板读取ng使用
django的"file\u charset"设置显式解码模板文件内容。感谢Eduard Iskandarov。

-修复了在
``Mustachejs\u dirs``中使用非规范化目录查找模板失败的问题。感谢Eduard Iskandarov提供的报告和修补程序。


<0.4.0
----

-添加Mustachejs_exts配置变量,以指定文件系统查找器(以及appfinder)所定位的模板文件所允许的扩展名。-----

-将包数据值添加到安装调用



>0.3.2
----

-将manifest.in文件本身作为manifest.in中的项添加。



>0.3.0
----

-将名称从django icanhaz更改为django mustachejs。
-删除对icanhaz.js的依赖。我喜欢这个库,但是现在维护人员的响应还不够。直接使用mustache.js,加少量的糖。模板被呈现为直接的javascript。


0.2.0(2011.06.26)
----

-使模板查找更加灵活:``icanhaz`u dir``现在是``icanhaz`u dirs`
(列表);添加了``icanhaz`u finders`,``icanhaz`u app`u dirnames`,并在已安装的应用程序中查找
模板。


0.1.0(2011.06.22)
----


-初始发布。



todo
====

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaCenter是JavaFX2中不可执行的窗格   java Docker将容器连接到本地数据库   java无法通过Spring从Redis获得正确的值   java为什么要将数组转换为列表再转换为数组   Java泛型在方法中放入字符串或整数参数   在Cloud Bigtable SDK中找不到java类   java Mavensiteplugin无法加载生成的源(Jaxb)   java GWT序列化和Appengine通道Api   PrintWriter out=new PrintWriter(sWriter)和PrintWriter out=response之间的java差异。getWriter()   空手道DSL中的javascript,在java参数调用中传递变量时如何转义单引号   windows 64位java可以与32位tomcat一起使用   为for循环| Java输入参数   java您可以更改SWT选项卡项的背景和/或前景颜色吗?   用java生成6位pin码   java如何从另一个通量中排除通量中的所有元素   java无法调用“javafx.scene.control.ComboBox.getItems()”,因为“Controller.getMyBox()”的返回值为null   将Java字符串与数组匹配时出现问题   java如何使用HttpsUrlConnection对SSL连接使用代理身份验证?   java如何检查XML元素是否包含CDATA?