【问题标题】:Google App Engine Jinja2 - Templates not updatingGoogle App Engine Jinja2 - 模板未更新
【发布时间】:2012-09-14 11:14:14
【问题描述】:

我的模板没有在 Google App Engine Dev Python Server 中更新时遇到问题。如果我让服务器运行一段时间,我的模板在更改后不会在浏览器中更新。我最好的猜测是 jinja2 以某种方式缓存这些模板?

我正在使用以下代码呈现我的模板:

_jinja_environment = jinja2.Environment(
    loader = jinja2.FileSystemLoader(root_dir))

def write_template(self, template_name, template_data = {}):
    template = _jinja_environment.get_template(template_name)
    self.response.out.write(template.render(template_data))

我已尝试重新启动我的应用引擎应用程序,以及取消部署和重新部署,但模板仍未更新。

有人有什么想法吗?

【问题讨论】:

    标签: python google-app-engine jinja2


    【解决方案1】:

    我刚刚遇到了同样的问题。我有一个 .py 文件和一个 .html 文件。我试图编辑一个 textarea 以在其中输出一些文本,但它没有在浏览器中正确刷新。仍然显示旧的 HTML 文件。在我重新启动应用引擎后,它工作得很好。

    所以我又做了一次,仍然是同样的问题。但是,如果您编辑 .py 文件并保存它,则 HTML 文件会重新加载到应用引擎中。我不知道为什么,但我认为删除一个字符并撤消它 + 保存比总是重新启动整个应用程序要快。

    也许有帮助!

    【讨论】:

      【解决方案2】:

      尝试以下方法:

      • 转到管理控制台。在本地机器上是:“http://localhost:8080/_ah/admin/datastore”

      • 选择合适的实体种类,然后点击List Entities

      • 点击Flush Memcache

      然后尝试重新加载应用程序。

      【讨论】:

        【解决方案3】:

        您是否尝试过以下任何一种方法

        1. 清除浏览器缓存,
        2. 重命名模板目录,
        3. 更改版本

        没有人能解决,不知道是什么原因造成的。

        This one 是一个类似的问题,虽然问题发生在部署之后。

        【讨论】:

        • 我尝试清除浏览器缓存并更改应用引擎应用程序版本。如果我创建一个新的模板文件,我可以看到更改。但是,我不想在需要更改时更改模板名称。
        • 我不确定治疗方法。如果您以某种方式找出导致问题的原因,请不要忘记在此处发布。
        猜你喜欢
        • 2011-12-12
        • 2014-01-24
        • 2014-05-21
        • 2011-01-22
        • 1970-01-01
        • 1970-01-01
        • 2011-03-06
        • 2014-03-14
        • 2019-02-09
        相关资源
        最近更新 更多