【发布时间】:2013-01-30 21:55:26
【问题描述】:
我在模板中到处使用{{STATIC_URL}}(为简单起见,我们以主页为例)。所以,我有一个名为“home_base.html”的父模板,它在这样的情况下使用标签:
<script src="{{STATIC_URL}}js/plugins.js">
<img src={{STATIC_URL}}img/blah.jpg>
在我的 urls.py 文件中,我有两个 url,指向同一个视图:
url(r'^home/$', 'homepage.views.HomeView'),
url(r'^home/x/$', 'homepage.views.HomeView', {'x': '3'}),
当我访问 mysite.com/home 时,一切正常。但是,当我访问 mysite.com/home/x 时,找不到应用程序的静态文件夹中的文件。对于模板中的每个静态文件,我都会收到如下所示的错误:
[30/Jan/2013 13:04:20] "GET /homepage/static/js/plugins_functions.js HTTP/1.1" 404 7325
[30/Jan/2013 13:04:20] "GET /homepage/static/js/backb_global.js HTTP/1.1" 404 7310
好像是在开头加上/homepage/...通常是/static/js...
我发现它与向 url 路径添加东西有关,因为如果我将我的 url 更改为如下所示,一切正常:
url(r'^home/$', 'homepage.views.HomeView'),
url(r'^x/$', 'homepage.views.HomeView', {'x': '3'}),
为什么当我在 url 中添加斜杠时一切都搞砸了?我该如何解决?我真的很想像这样在家里添加一些东西:url(r'^home/add/stuff/to/address/$',并且仍然让所有{{STATIC_URL}}标签工作。
请记住,我使用这个父模板作为许多其他模板的基础,所以我可以添加到 url 的路径,并在 home_base.html 中保留 {{STATIC_URL}} 标记对我来说很重要文件。
【问题讨论】:
-
你能显示 STATIC_URL 的定义吗?好像你使用了相对路径...
-
STATIC_URL = '/static/'
标签: python django url django-templates