Изменение в html-файле не вступает в силу при перезапуске сервера торнадо.

Я начинаю изучать Tornado и просматриваю книгу Intro to Tornado.

При работе с одним из примеров у меня была отсутствующая цитата в файле HTML, и я получил следующую ошибку:

Файл "modules/book_html.generated.py", строка 11
if book["subtitle] != "": # modules/book.html:3
SyntaxError: EOL при сканировании строкового литерала

Вот как выглядит book.html:

<div class="book">
  <h3 class="book_title">{{ book["title"] }}</h3>
  {% if book["subtitle"] != "" %}
        <h4 class="book_subtitle">{{ book["subtitle"] }}</h4>
    {% end %}
  <img src="{{ book["image"] }}" class="book_image"/>
    <div class="book_details">
      <div class="book_date_released">Released: {{ book["date_released"]}}</div>
      <div class="book_date_added">Added: {{ locale.format_date(book["date_added"], relative=False) }}</div>
      <h5>Description:</h5>
        <div class="book_body">{% raw book["description"] %}</div>
    </div>
</div>

Добавил отсутствующую цитату, перезапустил сервер (работает на локальном хосте) и все равно получил ту же ошибку. Скопирован код точно из гитхаба книги все та же ошибка. Закомментировал весь файл, то же самое. Заменил весь код (все файлы, main.py, все в папке templates, все) на код с github, тоже самое. Похоже, Chrome кэширует файл или что-то в этом роде, но я даже изменил имя файла на book2.html, и вылезла ошибка с измененным именем файла:

Файл "modules/book2_html.generated.py", строка 11
if book["subtitle] != "": # modules/book2.html:3

Пробовал очищать кеш, не помогло. Я зашел в инструменты разработчика Chrome и установил флажок «Отключить кеш», то же самое. Я также попытался запустить веб-приложение в Firefox и то же самое.

У кого-нибудь когда-нибудь была похожая проблема? Любая помощь будет оценена по достоинству. Спасибо!


person luisdaniel    schedule 19.11.2012    source источник


Ответы (1)


Я почти уверен, что торнадо также кэширует шаблоны. Взято из их документов.

Loader — это класс, который загружает шаблоны из корневого каталога и кэширует скомпилированные шаблоны:

Так что, если ваш вызывающий загрузчик, это может быть ваша проблема.

person enjoylife    schedule 19.11.2012
comment
Фиксированный. Я передал debug=True в конструкторе приложений в соответствии с doc и это сработало. Спасибо за помощь! - person luisdaniel; 19.11.2012