- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从原来的问题中稍微重新定义了这个问题,使其对手头的问题更加基础。我的文件系统的相关部分如下。
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/
我是一名优秀的程序员,十分优秀!