2016-10-04 4 views
0
var articles = [ 
    {% for article in article_list %} 
     {% if not forloop.first %},{% endif %} 
     { 
      title: "{{ article.title }}", 
      slug: "{{ article.slug }}", 
      content: "{{ article.content }}", 
      authors: [ 
       {% for author in article.authors.all %} 
        {% if not forloop.first %},{% endif %} 
        { 
        first_name: "{{ author.first_name }}", 
        last_name: "{{ author.last_name }}", 
        } 
       {% endfor %} 
      ] 
     } 
    {% endfor %} 
    ] 
] 
$('#calendar').fullCalendar('addEventSource',articles); 

これは(カレンダー-confの-events.jsを使用)カレンダー-confの-events.js(fullcalendar)にあるコード、および原因のエラー 私はindex.htmlをにオブジェクトを渡す されており、 、JSで私は、オブジェクトとテンプレートタグを使用しますが、エラーjavascriptのdajngo htmlタグ

エラーです:あなたはこのよう.jsファイルにテンプレートタグを使用することはできません{%

+0

そして、まさにこのエラーは何ですか? –

+0

これは '.js'ファイルですか?もしそうなら、テンプレートタグを '.js'ファイルで使うことはできません。 javascriptコードを '.html' Djangoテンプレートに移動し、' 'タグにjavascriptをラップすることができます。 " " $( '#calendar')fullCalendar( 'addEventSource'、articles); " – elethan

答えて

1

で「識別子または文字列リテラル、または全く数値リテラル予想される」 原因。

私は個人的にこのような状況を扱っている方法は、Djangoのテンプレートに私のJSコードを移動し、<script></script>タグでそれをラップすることです:

<script> 
var articles = [ 
    {% for article in article_list %} 
     {% if not forloop.first %},{% endif %} 
     { 
      title: "{{ article.title }}", 
      slug: "{{ article.slug }}", 
      content: "{{ article.content }}", 
      authors: [ 
       {% for author in article.authors.all %} 
        {% if not forloop.first %},{% endif %} 
        { 
        first_name: "{{ author.first_name }}", 
        last_name: "{{ author.last_name }}", 
        } 
       {% endfor %} 
      ] 
     } 
    {% endfor %} 
    ] 
] 
$('#calendar').fullCalendar('addEventSource',articles); 
</script> 

あなたはこのコードを移動することができるかもしれないように聞こえますarticlesにアクセスしている場合はindex.htmlに入力してください。

更新:あなたのJavaScriptはjQueryのを使用しているため

、事前にあなたが他の場所でそれを行うだろうと同じように、そのライブラリをロードするようにしてください。たとえば、テンプレートの上部に<head></head>タグの内側に次のタグを追加することができます。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
+1

jQueryを読み込む必要があります。私の更新を参照してください。 – elethan

関連する問題