【问题标题】:Change in html file does not take effect when I restart tornado server重新启动龙卷风服务器时,html文件中的更改不生效
【发布时间】:2012-11-06 21:59:31
【问题描述】:

我开始学习 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>

添加缺少的报价,重新启动服务器(在 localhost 上运行),仍然出现相同的错误。完全从book's github 复制粘贴代码,仍然是同样的错误。注释掉整个文件,同样的事情。用来自 github 的代码替换了整个代码(所有文件、main.py、模板文件夹中的所有内容、所有内容),同样的事情。 看起来 Chrome 正在缓存文件什么的,但我什至将文件名更改为 book2.html,并且文件名更改后出现错误:

文件“modules/book2_html.generated.py”,第 11 行
if book["subtitle] != "": # modules/book2.html:3

我尝试清除缓存,没有运气。我去了 Chrome 的开发人员工具并检查了禁用缓存复选框,同样。我还尝试在 Firefox 中运行 Web 应用程序和相同的东西。

有没有人遇到过类似的问题?任何帮助,将不胜感激。谢谢!

【问题讨论】:

    标签: python caching tornado eol


    【解决方案1】:

    我很确定 tornado 也会缓存模板。取自他们的docs

    Loader是一个从根目录加载模板并缓存编译好的模板的类:

    因此,如果您的调用加载程序可能是您的问题。

    【讨论】:

    • 已修复。我按照doc 在 Application 构造函数中传递了 debug=True 并且它起作用了。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2014-03-22
    • 2021-07-20
    相关资源
    最近更新 更多