【发布时间】:2018-01-21 17:21:46
【问题描述】:
作为 python 和 web.py 的新手,我不确定我想要的是否可行,但我正在尝试为我的模板分配唯一的渲染器,以便我的模板不能使用特定的文件结构。
所以我有: 代码.py
Main = web.template.render('templates/', globals=common_globals)
Section1 = web.template.render('templates/Section1/', globals=common_globals)
以后在引用这些时,
这行得通:
class index:
def GET(self):
vPage = '0'
vLevel = '0'
vSection = '0'
return Main.Layout(vPage, vLevel, vSection)
但这不是:
class Section1:
def GET(self):
vPage = '0'
vLevel = '1'
vSection = '1'
return Section1.Layout(vPage, vLevel, vSection)
任何关于这是否可能或如何工作的建议都会很可爱。
【问题讨论】:
-
你试过了吗?它应该可以正常工作(我在“页面”不同的地方使用不同的渲染器:一种用于渲染网页,一种用于渲染 HTML 以进行 PDF 转换,一种用于渲染 HTML 用于电子邮件。这样我可以为每个人提供相同的参数,但生成不同的 HTML 请注意,渲染器的目录结构与 Web URL 的目录结构无关。
-
@pbuck 它似乎对我不起作用,但我想我找到了几个例子说它应该。从技术上讲,它可以像我希望它作为网站一样工作:令人沮丧的是,像这样直观的东西似乎不起作用。
-
templates/ 和 templates/Section1/ 目录下都有一个名为“Layout.html”的文件?
-
是的,这个测试站点的目的是模仿一个现有站点,该站点的结构中每个“级别”都有自己的布局,即使只是为了潜在的控制。
-
猜我不明白什么不起作用!
标签: python templates render web.py