首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZPT在中的应用

ZPT在中的应用
EN

Stack Overflow用户
提问于 2010-01-31 01:39:56
回答 1查看 438关注 0票数 1

有没有人尝试过在中使用ZPT?如果是,请告诉我怎么做。提前谢谢。

编辑:

http://gae-zpt.appspot.com/上DisplacedAussie https://stackoverflow.com/users/2962/displacedaussie的一个例子

可以从http://github.com/displacedaussie/gae-zpt下载

我现在可以愉快地运行:http://blogthere.appspot.com/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-03 11:54:23

首先,我将解释如何在正常项目中使用ZPT。从这里开始,我将向您展示如何让它与Google一起工作。

安装zope.pagetemplate

代码语言:javascript
复制
# easy_install zope.pagetemplate

在您的python视图代码中,添加类似于的内容

代码语言:javascript
复制
from zope.pagetemplate.pagetemplatefile import PageTemplateFile

my_pt = PageTemplateFile('mytemplate.pt') 
context = {'row': ['apple', 'banana', 'carrot'], 'foo':'bar'}
print my_pt.pt_render(namespace=context)

模板(**mytemplate.pt**)中的

代码语言:javascript
复制
<html> 
  <body> 
    <h1>Hello World</h1>
    <div tal:condition="python:foo == 'bar'"> 
      <ul> 
        <li tal:repeat="item rows" tal:content="item" /> 
      </ul> 
    </div>
  </body> 
</html>

这基本上意味着您需要执行以下操作:

  • 确保您可以安装zope.pagetemplate
  • 创建一个.pt文件
  • 在视图代码中,给模板命名,然后用给定的上下文呈现它。

Google应用程序引擎

在GAE中,您可以使用(几乎)任何您喜欢的代码,但是您必须在应用程序中提供它。要使用ZPT,您需要获得zope.pagetemplate包的副本以及它所依赖的任何内容。我可以告诉您,当您执行# easy_install zope.pagetemplate时,您将得到以下包:

  • zope.pagetemplate
  • zope.i18nmessageid
  • zope.interface
  • zope.tal
  • zope.tales

很有可能您可以将这些代码剪短,并删除您实际上不需要的代码,但我将将此作为练习留给您。

一旦您有了上述每个包的副本,将每个包中的代码放到一个"zope“目录中,您就可以将其包含在GAE应用程序中。这将允许您以标准的方式导入所有内容。

假设您已经到了这一点,下一步是像上面一样创建模板,将视图代码放入适当的RequestHandler中,然后在每个请求的末尾编写呈现的输出。

我已经创建了一个基本的GAE应用程序来完成这个任务,您可以从下载它中获取GitHub。

对于任何现有的(或新的)项目,只需从示例应用程序中获取'zope‘目录,并如上面所述使用它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2170212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档