【发布时间】:2016-06-24 13:28:35
【问题描述】:
我有一些 javascript,我想在我正在构建的 Django 网站的特定页面上运行。在我目前拥有的模板中:
<script type='text/javascript' src='{% static "/home_page/github_repos.js" %}'></script>
由此生成的 HTML 是:
http://localhost:8000/home_page/github_repos.js
问题是我在/static/home_page/ 中有javascript。
如果我在路径中硬编码为:
<script type='text/javascript' src='static/home_page/github_repos.js'></script>
一切正常。
但是,我遇到了我不理解的奇怪行为:
如果,在模板中我这样设置路径:
<script type='text/javascript' src='{% static "static/home_page/github_repos.js" %}'></script>
HTML 生成器的 src 属性为/static/static/home_page/github_repos.js
真正让我失望的是,如果我在使用模板标签时不将/static/ 放在src 的前面(就像我给出的第一个示例一样),则不会添加/static/,但是,如果我在前面添加/static/,它就会被添加。我需要将/static/ 添加到 src 属性的前面,但只需要一次。
一些相关信息:
我的主页应用程序解析为 '/' 作为 url,所以localhost:8000/ 将您带到主页。
我已在我安装的应用中包含'django.contrib.staticfiles'
最后,STATIC_URL = '/static/'
是否因为我的 home_page 应用解析到 localhost:8000/ 的根地址而出现此问题?
感谢任何帮助。
【问题讨论】:
标签: django django-templates django-staticfiles