Cherrypy 简单动态 html
Cherrypy symple dynamic html
我有一个非常简单的查询,我很抱歉,但我一直被困了一段时间而无法找到答案。
在下面的脚本中,我试图 "dynamically" 使用 url1 和 url2 进一步生成的一些变量 url 创建一个 url .
我试过 % 但也没有成功。
谁能指出代码有什么问题。
谢谢
import cherrypy
class PageGenerator(object):
page_template = """<html>
<head></head>
<body>
<div><p><object data=http://en.wikipedia.org/w/index.php?title={{url1}} width="1200" height="600"> Error: Embedded data could not be displayed. </object>
</p>
<p><object data=http://en.wikipedia.org/w/index.php?title={{url2}} width="1200" height="600"> Error: Embedded data could not be displayed. </object>
</p></div>
</body>
</html>"""
@cherrypy.expose
def generate(self, url1):
url1 = "Neurosurgery "
return url1
@cherrypy.expose
def generate(self, url2):
url2 = "Urology "
return url12
if __name__ == '__main__':
cherrypy.quickstart(PageGenerator())
Python 有 3 种标准的字符串格式化(或插值)方式。
%
(modulo operator)。 'one %s, two %s' % (var1, var2)
.
str.format
。 'one {0}, two {1}'.format(var1, var2)
。
-
from string import Template
t = Template('one $var1, two $var2')
t.substitute(var1 = var1, var2 = var2)
您在模板中使用的占位符语法未在 Python 的电池中实现。除了从页面处理程序 returning 一个字符串(url1
和 url2
),CherryPy 显然只会显示它。它对您的 page_template
属性一无所知,您需要指示 CherryPy 使用它。
首先,确定模板语法。要么使用标准 3,要么了解 Jinja2(您正在使用的语法)。在后一种情况下,Whosebug 有 plenty of information。其次,做插值不只是 return 一个变量。
我有一个非常简单的查询,我很抱歉,但我一直被困了一段时间而无法找到答案。
在下面的脚本中,我试图 "dynamically" 使用 url1 和 url2 进一步生成的一些变量 url 创建一个 url .
我试过 % 但也没有成功。
谁能指出代码有什么问题。
谢谢
import cherrypy
class PageGenerator(object):
page_template = """<html>
<head></head>
<body>
<div><p><object data=http://en.wikipedia.org/w/index.php?title={{url1}} width="1200" height="600"> Error: Embedded data could not be displayed. </object>
</p>
<p><object data=http://en.wikipedia.org/w/index.php?title={{url2}} width="1200" height="600"> Error: Embedded data could not be displayed. </object>
</p></div>
</body>
</html>"""
@cherrypy.expose
def generate(self, url1):
url1 = "Neurosurgery "
return url1
@cherrypy.expose
def generate(self, url2):
url2 = "Urology "
return url12
if __name__ == '__main__':
cherrypy.quickstart(PageGenerator())
Python 有 3 种标准的字符串格式化(或插值)方式。
%
(modulo operator)。'one %s, two %s' % (var1, var2)
.str.format
。'one {0}, two {1}'.format(var1, var2)
。-
from string import Template t = Template('one $var1, two $var2') t.substitute(var1 = var1, var2 = var2)
您在模板中使用的占位符语法未在 Python 的电池中实现。除了从页面处理程序 returning 一个字符串(url1
和 url2
),CherryPy 显然只会显示它。它对您的 page_template
属性一无所知,您需要指示 CherryPy 使用它。
首先,确定模板语法。要么使用标准 3,要么了解 Jinja2(您正在使用的语法)。在后一种情况下,Whosebug 有 plenty of information。其次,做插值不只是 return 一个变量。