Google应用程序引擎-Python和从bigtable渲染

Google应用程序引擎-Python和从bigtable渲染,python,google-app-engine,templates,Python,Google App Engine,Templates,我在那里: 我正在试验GAE,我希望使用普通python(而不是Django或其他框架)创建一个CMS。我的问题是GAE不允许保存文件,所以我可以将用户创建的模板保存在文件夹中 如果要渲染文件,请使用下一个命令: tmpl = os.path.join(os.path.dirname(__file__), 'templates/mypage.html') self.response.out.write(render(tmpl, context)) 有没有一种方法可以直接从Big

我在那里:

我正在试验GAE,我希望使用普通python(而不是Django或其他框架)创建一个CMS。我的问题是GAE不允许保存文件,所以我可以将用户创建的模板保存在文件夹中

如果要渲染文件,请使用下一个命令:

    tmpl = os.path.join(os.path.dirname(__file__), 'templates/mypage.html')
    self.response.out.write(render(tmpl, context))

有没有一种方法可以直接从BigTable的注册表或变量而不是文件进行渲染?(不使用Django)。

首先,如果您使用的是
template.render
,那么您使用的是一个框架:GAE中包含的最小“webapp”框架。当然,
template
模块本身是Django模板库的薄包装。然而,包装器——它解决了Django和webapp之间的一些不兼容问题——没有公开直接从字符串进行渲染的方法

它确实允许访问基本django
Template
类,该类可用于直接从模板字符串实例化模板:

tmpl = template.Template(template_string)
tmpl.render(template.Context(context))

这可能有效,也可能无效,因为这些不兼容。

首先,如果您使用的是
template.render
,那么您使用的是一个框架:GAE中包含的最小“webapp”框架。当然,
template
模块本身是Django模板库的薄包装。然而,包装器——它解决了Django和webapp之间的一些不兼容问题——没有公开直接从字符串进行渲染的方法

它确实允许访问基本django
Template
类,该类可用于直接从模板字符串实例化模板:

tmpl = template.Template(template_string)
tmpl.render(template.Context(context))

这可能有效,也可能无效,因为这些不兼容。

谢谢。但是,我无法确定如何在模板中{“%include%}。这是在这种情况下可能永远不会起作用的事情之一。您可以为Django编写自定义模板加载器,该加载器被调用以解析包含等中的文件名。不过,这是一个更高级的主题,你应该从阅读和学习模板系统的工作原理开始。你试图做一些非常困难的事情,只知道发生了什么。谢谢。但是,我无法确定如何在模板中{“%include%}。这是在这种情况下可能永远不会起作用的事情之一。您可以为Django编写自定义模板加载器,该加载器被调用以解析包含等中的文件名。不过,这是一个更高级的主题,你应该从阅读和学习模板系统的工作原理开始。你正在尝试做一些非常困难的事情,只是对正在发生的事情有一个基本的了解。App Engine数据存储是建立在BigTable上的,但它不是BigTable-它是数据存储。App Engine数据存储是建立在BigTable上的,但它不是BigTable-它是数据存储。