gpt4 book ai didi

javascript - Pyramid 无法访问静态 Assets (既不是 .jpg 图像也不是 .js 文件)

转载 作者:行者123 更新时间:2023-12-04 14:48:13 25 4
gpt4 key购买 nike


我有一个更大的测试用例,它使用 Pyramid 和 Mako 以及 Javascript。除非我将 Javascript 代码放入单独的文件中,否则它工作正常。然后它失败了。我已将测试用例缩减为以下(3 个文件),用我想加载的简单图片替换 JS 文件,但同样的错误消息也失败了:

NotImplementedError:无法为未注册的加载程序类型执行此操作
127.0.0.1 - - [15/Oct/2021 10:46:44] “GET/static/system6.jpg HTTP/1.1” 500 59
127.0.0.1 - - [15/Oct/2021 10:46:44] “GET/favicon.ico HTTP/1.1” 404 164


post_trypyramid.py:

from pyramid.config import Configurator

if __name__ == '__main__':
with Configurator() as config:
config.include("pyramid_mako")
config.add_route('home', '/')
config.add_route('system', '/system')
config.add_static_view(name='static', path='static')
config.scan('post_trypyramid_views')
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 6543, app)
server.serve_forever()


post_pyramid_views.py:


from pyramid.httpexceptions import HTTPFound, HTTPNotFound
from pyramid.response import Response
from pyramid.view import view_config

@view_config(route_name='home')
def home_view(request):
return Response('<p>Welcome</p>')


@view_config(route_name='system', renderer='post_trypyramid_template.mako')
def form_view(request):
return {"Nothing": "nothing"}


post_trypyramid_template.mako:

<head>
<title>My SANDBOX</title>
<meta charset="utf-8"/>
</head>
<body>
<h1>Settings:</h1>
<img src="static/system6.jpg" alt="Here you should see an image">
<img src="{{ request.static_url('__main__:static/system6.jpg') }}" alt="Here you should see an image" >
</body>
</html>

我在“C:/Users/myAccount/Projects/TryPyramid”中启动应用程序,但网页上没有显示图像,只有标题。
如果我用像
这样的绝对路径替换上面的“add_static_view()”调用"config.add_static_view(name='static', path='C:/Users/myAccount/Projects/TryPyramid/static')"
那么至少第一个“”会导致浏览器中的图像。

那我的相对路径设置有什么问题??或者我还想念什么?

我尝试了各种修改,例如尾随或前导斜杠。没有任何帮助

欢迎任何提示。谢谢。

最佳答案

您正在 Mako 模板中使用 Jinja2 语法。另外,您应该使用项目名称,而不是 __main__。试试这个:

<img src="${ request.static_url('myproject:static/system6.jpg') }" alt="Here you should see an image" >

如果您使用 pyramid-cookiecutter-starter以使用 Mako 作为模板引擎创建入门项目,然后您可以查看有关如何构建项目和正确语法的其他示例。查看documentation for a tutorial .

关于javascript - Pyramid 无法访问静态 Assets (既不是 .jpg 图像也不是 .js 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69582269/

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