【发布时间】:2016-09-18 00:46:02
【问题描述】:
情况:我使用的是 Django 1.9。我有一个javascript循环,它需要一些存储在数据库中的javascript。这个 js 有一些 django 标记,当该 js 加载到我的模板中时,我想加载这些标记。 这是函数:
{% extends "base_clean.html" %}
{% load i18n %}
{% block title %}{% trans "Campaign" %} - {{ campaign.name }}{% endblock %}
{% block content %}
Some HTML
Some CSS
<script type="text/javascript">
Some javascript functions.
displayed = 0;
delay = 1000;
(function loop() {
setTimeout(function() {
p = pq.getMessage()
if( p != false ) {
posthtml = get_message_html(p);
displayed++;
{{ display_style.layout.js|safe }} /* !!!!!!!!!!!!!!!!!!*/
if( pq.messagesCount() < 10 ){
pq.getMessages()
}
loop();
}, delay);
})();
</script>
{% endblock %}
这就是 {{ display_style.layout.js|safe }} 加载的内容:
setTimeout(function() {
$('#messages_container').append(posthtml);
{% if display_style.post_append_effect %}
$(posthtml).addClass("animated {{ display_style.post_append_effect.css }}");
{% endif %}
}, 900);
}
if(displayed == {{ display_style.messages_per_page }}){
delay = {{ display_style.seconds_between_messages }}000;
}
if(displayed > {{ display_style.messages_per_page }}){
$target = $('#messages_container div.list-group-item').first()
{% if display_style.message_remove_effect %}
$target.removeClass("animated {{ display_style.post_append_effect.css }}")
.addClass("animated {{ display_style.post_remove_effect.css }}");
{% endif %}
setTimeout(function() {
$target.remove();
displayed--
}, 900);
}
如您所见,它有一些我也想渲染的 django 标签。但我有“Uncaught SyntaxError: Unexpected token %”
编辑:添加了 django 标头标签。和模板的结构 忘了说,如果我明确地写了我想渲染到我的模板的 js,它就可以工作......问题是试图将标签渲染到渲染的 js 中
【问题讨论】:
-
问题不在于您显示的代码,但您并未显示所有内容。请显示模板的其余部分和错误跟踪的其余部分。
-
好的,我会简化模板文件,因为它非常大.. 只是把它所涉及的内容放在这里。关于错误跟踪它只是......我的意思是,chrome开发工具在第一个“{% if display_style.post_append_effect %}”
标签: javascript jquery django templates