- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 Genshi py:for
属性时遇到问题。我做错了什么?下面写出代码;要运行,请使用 Python 2 创建一个 virtualenv,执行 pip install genshi Flask
,复制独立目录中列出的文件,然后运行 python hello.py
hello.py的内容:
import os.path
import traceback
import flask
import genshi.template
app = flask.Flask(__name__)
template_dir = os.path.join(os.path.dirname(__file__), 'templates')
loader = genshi.template.TemplateLoader(template_dir, auto_reload=True)
MESSAGES = [
"Hello",
"World",
"Sup?",
]
@app.route("/", defaults={"name": ""})
@app.route("/<path:name>")
def show(name):
template_name = name + ".html"
try:
template = loader.load(template_name)
stream = template.generate(
messages=MESSAGES,
)
rendered = stream.render('html', doctype='html')
except Exception as e:
tb = traceback.format_exc()
return "Cannot load /{}: {} <pre>\n{}</pre>".format(name, e, tb)
return rendered
if __name__ == '__main__':
app.run()
templates/debug.html
的内容:
<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://geshi.edgewall.org/"
>
<body>
<p>Messages is a ${str(type(messages))} of length ${len(messages)}</p>
<p>Messages:</p>
<pre>
${'\n'.join(m + "!" for m in messages)}
</pre>
</body>
</html>
templates/hello.html
的内容:
<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://geshi.edgewall.org/"
>
<body>
<h1>Messages</h1>
<ul>
<li py:for="msg in messages">
$msg
</li>
</ul>
</body>
</html>
当我访问 http://localhost:5000/debug
时,一切似乎都按预期工作,但是当我运行 http://localhost:5000/hello
时,我获取“无法渲染/hello:'msg' 未定义”
最佳答案
您的命名空间定义中缺少“n”。目前读的是'xmlns:py="http://geshi.edgewall.org/"' 但它应该显示为 'xmlns:py="http://genshi.edgewall.org/"'。这会导致 Genshi 无法识别“py:for”属性,然后愉快地尝试评估“$msg”,而不使用任何“for msg in messages”来定义变量。
关于python - Genshi for 循环不起作用...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26023950/
很简单,我想打印出我的 genshi 模板中范围内的所有变量,作为调试和发现措施。有没有办法做到这一点? 最佳答案 标准 Python 函数 locals() (返回一个字典)对我有用。我正在使用 G
如何让 Genshi 解析匹配模板的输出? 换句话说: 我在 Genshi 有一个这样的模板: Something ${select('@label')} ${select('*')
我在使用 Genshi py:for 属性时遇到问题。我做错了什么?下面写出代码;要运行,请使用 Python 2 创建一个 virtualenv,执行 pip install genshi Flas
我在 Turbogears2 Web 框架中使用 Genshi 模板引擎。在编写简单的javascript if 语句时,我收到错误“意外的标记;”。我正在比较表中的一些内容,如果它大于某个值,则打印
我有以下 Genshi HTML 模板片段,用于生成 HTML。 ${'Hello {name}'.format(name='foo')} Genshi 由于字符串中的大括号而对此感到不满
我需要使用 Genshi 模板生成 HTML。 Html 基本上是一个带有表格的很长的 html。数据来自一个简单的 CSV,因此,我用 python 读取它,将其放入列表 [] 中,然后调用模板并发
确实很有效的一行非常简单的代码,但是仍然给我这个错误: TemplateSyntaxError: invalid syntax (file.html, line 22) 我缩短了文件路径的可读性,但
我的 genshi 模板中有以下 javascript,但我不确定如何正确解析它: floor = (!floor && floor !== 0)? 20 : floor; 我试过这个: floor
段落
我正在尝试使用 genshi 输出评论的内容,但我不知道如何将换行符转换为 HTML 段落。 这是它应该是什么样子的测试用例: 输入:'foo\n\n\n\n\nbar\nbaz' 输出:foobar
我有以下使用 Genshi(简化)的 Python 代码: with open(pathToHTMLFile, 'r') as f: template = MarkupTemplate(f.r
你好我正在使用 python、turbogears 2.2 和 Genshi 为我的 View \模板编写一个 Web 应用程序。 在 View 方面,我也使用 Angular.js。大多数时候他们在
我最近发现了 genshi.builder 模块。它让我想起了 Divmod Nevow 的 Stan 模块。如何使用 genshi.builder.tag 构建具有特定文档类型的 HTML 文档?或
我正在尝试弄清楚如何使用 Pylons 和 Python 检查模板上下文“tmpl_context”中是否存在变量。我想做的是: 我有一个 Pylons 布局模板。当且仅当变量 c.messages
好吧,我来自 Django,所以如果我写的内容没有意义,请原谅。我正在尝试使用 genshi “覆盖” Turbogears 中我的主模板的一部分。到目前为止,我只尝试了 py:match 指令,但没
我正在尝试弄清楚如何将 Genshi 中的 CSS 添加到一些动态生成的标记中。我试图避免内联 CSS,理想情况下规则会出现在 中。父文档的标签。 我正在使用看起来像这样的现有代码(为了简化,我重写
我需要和网页设计师一起工作,所以... 你能给我一些建议吗? 提前致谢 仅供引用: Zope's TAL Template Attribute Language (TAL) 是一种用于生成动态 HTM
我正在使用 Pylons/Genshi,并尝试使用 Disqus javascript 小部件在我的网站上显示“所有最近的评论”(网站上安装了 Disqus,我可以发表评论 OK)。 但是,下面的代码
我是一名优秀的程序员,十分优秀!