状況:Django 1.9を使用しています。そして、私はデータベースに格納されているいくつかのJavaScriptを取るjavascriptループを持っています。このjsには、jsがテンプレートに読み込まれるときにロードしたいdjangoタグがいくつかあります。 これは、関数である:djangoテンプレートを使用してjavascriptコードをdjangoテンプレートにロードする方法
{% 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 |安全}}である負荷:あなたは、それは私もしたい、いくつかのDjangoのタグを持って見ることができるように
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);
}
レンダリングする。しかし、私は "Uncaught SyntaxError:予期しないトークン%"を持っています
EDIT:djangoヘッダタグが追加されました。テンプレートの構造 そして、テンプレートにレンダリングしたいjsを明示的に書くと、問題はレンダリングされたjsにタグをレンダリングしようとしています。
表示されているコードに問題はありませんが、すべてが表示されているわけではありません。残りのテンプレートと残りのエラートレースを表示してください。 – YPCrumble
私はテンプレートファイルを単純化します。なぜなら、非常に大きなものです。 そして、そのエラートレースについては、私は、最初の "{%if display_style.post_append_effect%}"にエラーを置くことを意味します。 –