【问题标题】:Render block only in django with google app engine仅在 django 中使用谷歌应用引擎渲染块
【发布时间】:2014-02-20 00:30:44
【问题描述】:

我正在使用 google app engine 和 django 来运行一个简单的网络应用程序。一切正常,但是当我在链接上单击导航时,整个页面都会再次呈现,包括导航。所以我试图用这样的块来排除主要内容:

# main.html
<html>
<title>Dummytitle</title>
<body>

...Navigation menu...

{% block maincontent %}

{% endblock %}
</body>
</html>

这里是内容:

# index.html
{% extends "main.html" %}

{% block maincontent %}
    <div id="main-container">
       Amazing content 
    </div>
{% endblock %}

在后端我这样调用模板:

def render_template(self, view_filename = 'index.html', params=None):

    path = os.path.join(os.path.dirname(__file__), 'views', view_filename)

    self.response.out.write(template.render(path, params))

但它仍然不起作用。当我想将内容从 index.html 更改为另一个页面时,导航本身也会再次呈现。

那么如何在不渲染整个页面的情况下更改块的内容呢?

【问题讨论】:

    标签: django google-app-engine templates rendering block


    【解决方案1】:

    始终呈现整个页面(主索引或另一个主索引)。除非 Jinja 缓存了页面数据。

    您可以加载主页面并使用 ajax 来加载和更改页面。见this question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-06
      • 2011-07-19
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      相关资源
      最近更新 更多