[英]Django: {{STATIC_URL}} tag not working when url path is extended
我在模板的所有位置都使用{{STATIC_URL}}
(為簡化{{STATIC_URL}}
,我們以主頁為例)。 因此,我有一個名為“ home_base.html”的父模板,該模板在以下情況下使用標記:
<script src="{{STATIC_URL}}js/plugins.js">
<img src={{STATIC_URL}}img/blah.jpg>
在我的urls.py文件中,我有兩個網址, 它們指向同一個視圖 :
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'}),
當我在網址中添加斜杠時,為什么一切都搞砸了? 我該如何解決? 我真的很{{STATIC_URL}}
這樣向家里添加東西: url(r'^home/add/stuff/to/address/$'
,並且仍然可以使所有{{STATIC_URL}}
標簽正常工作。
請記住,我將此父模板用作許多其他模板的基礎,因此對我來說很重要的一點是,我可以添加到url的路徑,並將{{STATIC_URL}}
標記保留在home_base.html文件中。
嘗試使用轉義字符串變量
{{STATIC_URL|safe}}
您是否檢查過https://docs.djangoproject.com/en/dev/howto/static-files/ ,其中顯示:
如果{{STATIC_URL}}在您的模板中不起作用,則渲染模板時可能未使用RequestContext。
和:
確保“ django.core.context_processors.static”在您的TEMPLATE_CONTEXT_PROCESSORS中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.