gpt4 book ai didi

python - 如何编写一个可调用 View 以在 Pyramid 中显示静态 html 文件?

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:05 25 4
gpt4 key购买 nike

在我的 Pyramid 应用程序中,我在 tutorial/tutorial/pages/name.html 下有几个静态 html 文件(例如)。我如何为此编写可调用的 View ?这行得通吗?

     @view_config(renderer='view_page')
def view_page(request):
return {} # no values have to be passed to the template

然后在init.py文件中

config.add_route('view_page', 'tutorial:pages/{name}.html')

我需要在 def view_page(request) 函数中放入什么来专门调用那个 name.html 文件然后显示它的内容?

最佳答案

Pyramid 的 static_view 是一个能够从目录提供文件的 View 。您真正没有解释的部分是这些静态页面的 URL 是什么样的。例如,如果它们都在一个公共(public)前缀下,您可以使用 static_view(选项 1)。如果不是,则您必须为每个页面创建一个 View 并直接提供它(选项 2)。

选项1

网址:

/foo/bar.html
/foo/baz/boo.html

静态 View :

config.add_static_view('/foo', 'tutorial:pages')

教程/页面层次结构:

tutorial/pages/bar.html
tutorial/pages/baz/boo.html

add_static_view 实际上就像调用 add_route('foo', '/foo/*subpath'),它提供 subpath相对于 tutorial:pages

选项2

config.add_route('foo', '/foo')
config.add_route('bar', '/foo/bar')

@view_config(route_name='foo', renderer='tutorial:pages/foo.html.mako')
@view_config(route_name='bar', renderer='tutorial:pages/bar.html.mako')
def static_view(request):
return {}

注意 .mako 后缀调用 mako 渲染器。默认情况下没有 .html 渲染器,但您可以制作一个。

关于python - 如何编写一个可调用 View 以在 Pyramid 中显示静态 html 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com