gpt4 book ai didi

javascript - 如何将 javascript 源文件插入我的 Pyramid python 应用程序并在我的模板中使用它们?

转载 作者:行者123 更新时间:2023-11-29 20:01:15 24 4
gpt4 key购买 nike

我从原来的问题中稍微重新定义了这个问题,使其对手头的问题更加基础。我的文件系统的相关部分如下。

env
tutorial
tutorial
templates
view.pt
static
myjava.js
views.py
__init__.py

现在我的 view.pt 模板有

<script type="text/javascript" src="/static/myjava.js"></script>

然后在我的 __init__.py 中,我有

config.add_static_view(name='static',path='env/tutorial/tutorial/static')

最后,myjava.js 文件本身非常简单:

document.write("hello from the javascript file")

我正在尝试遵循此文档:http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/assets.html

但现在没有任何文本显示。我觉得问题出在我给它的路径上。

我的一些想法:在 config.add_static_view 中,name='static' 令人困惑。我希望用户能够访问 url www.domain.com/firstpage,其中 firstpage 是使用 javascript 文件资源(静态文件夹中的文件)的模板的结果。我担心这些静态 Assets 仅适用于以 www.domain.com/static/... 开头的网址...这是一个有效的问题吗?我如何告诉 config.add_static_view 函数为从 view.pt 模板呈现的任何 View 提供静态资源?

编辑:这是有效的:

在模板中,使用 src="${request.static_url('tutorial:static/myjava.js')}"

然后在 init.py 中使用 config.add_static_view(name='static',path='tutorial:static/')

最佳答案

模板中的 javascript 链接应该类似于 src="${request.static_url('tutorial:static/myjava.js')}"

这使您的应用程序可以更轻松地重新定位。

这也使用了适当的 Assets 规范,使用包的名称,“tutorial”,一个冒号,然后是相对于“tutorial”包位置的路径,在您的情况下,包位于 env/tutorial/tutorial

已编辑:我忘记了 Configurator 对象。

在这里,您想使用类似的 Assets 规范,例如 config.add_static_view('static', 'tutorial:static/')

您也可以为不同的目录创建不同的静态 View ,例如:config.add_static_view('images', 'tutorial:images/')

当你这样做时,你可以将你的应用程序的根移动到另一个位置,让你有 http://mysite.com/stable/http://mysite.com/devel/ 访问 / 被重写为 /stable/

可以从任何模板调用静态 View ,代码如 ${request.static_url('tutorial:images/icons/favicon.ico')}

关于javascript - 如何将 javascript 源文件插入我的 Pyramid python 应用程序并在我的模板中使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14419082/

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