3

私は Tornado を学び始めており、Intro to Tornadoの本を読んでいます。

例の 1 つを実行しているときに、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>

不足している引用符を追加し、サーバーを再起動 (localhost で実行) しても、同じエラーが発生しました。本の githubから正確にコードをコピーして貼り付けても、同じエラーが発生します。ファイル全体をコメントアウトしましたが、同じです。コード全体 (すべてのファイル、main.py、templates フォルダー内のすべて、すべて) を github のコードに置き換えました。同じことです。Chromeがファイルか何かをキャッシュしているように見えますが、ファイル名をbook2.htmlに変更したところ、変更されたファイル名でエラーが発生しました:

ファイル "modules/book2_html.generated.py"、11 行目
if book["subtitle] != "": # modules/book2.html:3

キャッシュをクリアしようとしましたが、うまくいきませんでした。Chrome の開発者ツールに移動し、[キャッシュを無効にする] チェックボックスをオンにしました。また、Firefox で Web アプリを実行してみましたが、同じことでした。

誰も似たような問題を抱えたことがありますか?どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

0

tornado もテンプレートをキャッシュしていると確信しています。ドキュメントから取得

Loader は、ルート ディレクトリからテンプレートをロードし、コンパイルされたテンプレートをキャッシュするクラスです。

したがって、呼び出しローダーの場合、それが問題である可能性があります。

于 2012-11-19T00:40:57.043 に答える