如何使用 web.py 编写自定义渲染器
How do I write custom renderers with web.py
作为 python 和 web.py 的新手,我不确定我想要的是否可行,但我正在尝试为我的模板分配唯一的渲染器,以便我的模板无法使用一个特定的文件结构。
所以我有:
code.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)
任何关于这是否可能或它如何工作的建议都会很好。
我发现这个问题在我的问题中没有得到解答。
我认为问题出在 Layout.html,除了全零之外的任何东西都不起作用,因为变量默认为零。
不确定出现问题时的确切版本是什么,但 Layout.html 的工作版本正在使用类似的东西:
$def with (vPage, vLevel, vDivision)
$:getNavigationHeader()
Univeersal.py有
def getNavigationHeader():
vResult = ''
vResult += '<h4>'
vResult += 'Navigation'
vResult += '</h4>'
return vResult
所有方法都有相似的模式。
作为 python 和 web.py 的新手,我不确定我想要的是否可行,但我正在尝试为我的模板分配唯一的渲染器,以便我的模板无法使用一个特定的文件结构。
所以我有: code.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)
任何关于这是否可能或它如何工作的建议都会很好。
我发现这个问题在我的问题中没有得到解答。
我认为问题出在 Layout.html,除了全零之外的任何东西都不起作用,因为变量默认为零。
不确定出现问题时的确切版本是什么,但 Layout.html 的工作版本正在使用类似的东西:
$def with (vPage, vLevel, vDivision)
$:getNavigationHeader()
Univeersal.py有
def getNavigationHeader():
vResult = ''
vResult += '<h4>'
vResult += 'Navigation'
vResult += '</h4>'
return vResult
所有方法都有相似的模式。