TwitterTypeahead.js和Flask Jinja2模板
我试图通过flask应用程序定义typeahead.js的模板 我正在寻找的解决方案是覆盖默认(jinja2)模板,或者使用默认值定义新模板 更新: 这就是我目前所拥有的。“值”以外的任何其他值都不起作用TwitterTypeahead.js和Flask Jinja2模板,flask,jinja2,typeahead.js,Flask,Jinja2,Typeahead.js,我试图通过flask应用程序定义typeahead.js的模板 我正在寻找的解决方案是覆盖默认(jinja2)模板,或者使用默认值定义新模板 更新: 这就是我目前所拥有的。“值”以外的任何其他值都不起作用 $('#search').typeahead({ name: 'Search', local: { value: 'String1', tokens: ['1','one'], name: 'StringTest' },
$('#search').typeahead({
name: 'Search',
local: {
value: 'String1',
tokens: ['1','one'],
name: 'StringTest'
},
template: '<p>Template {{value}}{{name}}</p>', // Only shows "Template String1"
engine: Hogan
});
$(“#搜索”)。请提前键入({
名称:'搜索',
本地:{
值:“String1”,
代币:['1','1'],
名称:“StringTest”
},
模板:“模板{{value}}{{name}}”,//仅显示“模板字符串1”
引擎:霍根
});
下面是我的模板的外观
<script src='http://twitter.github.com/typeahead.js/releases/latest/typeahead.js'</script>
<script src="http://twitter.github.com/hogan.js/builds/2.0.0/hogan-2.0.0.js"></script>
<script src="static/js/search.js"></script> // Hard coded to see if it works..
我知道有几种方法可以实现你想要的。最简单的方法是将typeahead.js代码分离到另一个文件中
因此,在主模板中,您可以有:
<script src="/js/typeahead.js" type="text/javascript"></script>
<script type="text/javascript">
var prefetch_url = '{{ url_for('jsonData') }}'; // not so sure if you need the quote here?
</script>
<script src="/js/main.js" type="text/javascript"></script>
... your template code ...
由于Flask不会处理像main.js
这样的静态文件,因此Jinja2不会与Hogan语法冲突,您可以在那里做任何您想做的事情
希望能有所帮助。我知道有几种方法可以实现你想要的。最简单的方法是将typeahead.js代码分离到另一个文件中
因此,在主模板中,您可以有:
<script src="/js/typeahead.js" type="text/javascript"></script>
<script type="text/javascript">
var prefetch_url = '{{ url_for('jsonData') }}'; // not so sure if you need the quote here?
</script>
<script src="/js/main.js" type="text/javascript"></script>
... your template code ...
由于Flask不会处理像main.js
这样的静态文件,因此Jinja2不会与Hogan语法冲突,您可以在那里做任何您想做的事情
希望对您有所帮助。您可以使用{%raw%}
Jinja模板标记转义{{}}
,如下所述:
$(“#搜索”)。请提前键入({
名称:'搜索',
本地:{
值:“String1”,
代币:['1','1'],
名称:“StringTest”
},
模板:{%raw%}模板{{value}{{{name}}{%endraw%},
引擎:霍根
});
您可以使用{%raw%}
Jinja模板标记来转义{{}
,如下所述:
$(“#搜索”)。请提前键入({
名称:'搜索',
本地:{
值:“String1”,
代币:['1','1'],
名称:“StringTest”
},
模板:{%raw%}模板{{value}{{{name}}{%endraw%},
引擎:霍根
});
I已更新。希望我的问题更清楚。我更新了。希望我的问题更清楚。我是必须合并node.js还是仍然从链接中包含hogan?谢谢你的帮助,我不知道nodejs部分,但我建议你像平常一样包括参考。我有,但我只能通过模板引用值。有什么想法吗?明白了。你的解决方案有帮助。非常感谢。我应该合并node.js还是仍然从链接中包含hogan?谢谢你的帮助,我不知道nodejs部分,但我建议你像平常一样包括参考。我有,但我只能通过模板引用值。有什么想法吗?明白了。你的解决方案有帮助。非常感谢你