2016-10-04 5 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); 

Это код находится в календарном-конфе-events.js (fullcalendar), и причина ошибка я передачи объектов в index.html (которые используют календарь-Conf-events.js) И , в JS я использую объекты и тег шаблонов, но ошибкуJavaScript dajngo HTML теги

ошибки: «идентификатор или строковый литерал или нет числового литерала ожидаемой» причины в {%

+0

А что, собственно, * был * эта ошибка? –

+0

Это файл '.js'? Если это так, вы не можете использовать теги шаблонов в файле '.js'. Вы можете переместить свой javascript-код в шаблон '.html' Django и обернуть javascript в' 'теги. – elethan

ответ

1

Вы не можете использовать тег шаблонов в .js файл, как это ,

Как я лично регулировал этот тип ситуации, чтобы переместить мой JS код в шаблон Django, и завернуть его в <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> 

Это звучит, как вы могли бы перенести этот код в index.html, если это то, к чему вы обращаетесь, articles.

Update:

Поскольку ваш JavaScript использует JQuery, убедитесь, чтобы загрузить эту библиотеку загодя так же, как вы могли бы сделать это в другом месте. Например, вы можете добавить следующее в ваших <head></head> тегов в верхней части шаблона:

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

спасибо, но «$ ('# calendar'). FullCalendar ('addEventSource', articles);" Причина Ошибка "(индекс): 363 Uncaught ReferenceError: $ не определен" – jkh6100

+1

Вам нужно загрузить jQuery. См. Мое обновление. – elethan

Смежные вопросы