我已经从最初的问题重新定义了这个问题,使其对手头的问题更加基础。我的文件系统的相关部分如下。
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' 令人困惑。我希望用户能够访问网址 www.domain.com/firstpage,其中 firstpage 是使用 javascript 文件资源(静态文件夹中的文件)的模板的结果。我担心这些静态资产仅适用于以 www.domain.com/static/ 开头的网址...这是一个有效的问题吗?如何告诉 config.add_static_view 函数为从 view.pt 模板呈现的任何视图提供静态资源?
编辑:这是有效的:
在模板中,使用 src="${request.static_url('tutorial:static/myjava.js')}"
然后在init .py 中使用 config.add_static_view(name='static',path='tutorial:static/')