如何告诉我的 django 模板静态文件(dajax.core.js)在哪里?
Posted
技术标签:
【中文标题】如何告诉我的 django 模板静态文件(dajax.core.js)在哪里?【英文标题】:How to tell my django template where static file (dajax.core.js) is? 【发布时间】:2011-12-03 15:32:20 【问题描述】:我正在尝试在我的 Django 应用程序中使用 Dajax,但是当我尝试将它包含在我的 html 模板中时出现 404 错误。我已经在 Windows 7 上安装了 Dajax 和 Dajaxice。这是我的 STATIC_URL 的样子:
STATIC_URL = '/static/'
我的静态文件夹是放在我的应用程序的文件夹中,所以从我的Eclipse项目的src文件夹中,静态文件夹的路径是:
appname/static
我已将以下 javascript 文件放入我的静态目录中的“js”目录中:
dajaxice.core.js
jquery.dajax.core.js
在我的模板的 head 标记中是我的脚本标记,如下所示:
<script src=" STATIC_URL js/jquery.dajax.core.js" type="text/javascript" charset="UTF-8"></script>
但是,当我打开模板时,我收到以下错误:
GET http://localhost:8000/dajax/js/jquery.dajax.core.js 404 (NOT FOUND)
为什么找不到 jquery.dajax.core.js?感谢您的帮助!
编辑另外,这是我的观点:
from django.shortcuts import render_to_response
from django.template import RequestContext
def dajax(request):
return render_to_response('dajax.html', context_instance=RequestContext(request))
这很简单,因为我只是在测试。
【问题讨论】:
您在 urls.py 中处理/static/
吗?
【参考方案1】:
我认为这是因为您需要为 django 添加静态服务器(仅用于本地运行)
将此添加到您的 urls.py:
if settings.DEBUG:
urlpatterns += patterns('',
(r'^static/(.*)$', 'django.views.static.serve', 'document_root': settings.STATIC_PATH),
)
或者您需要将MEDIA_ROOT
指向静态文件夹的绝对路径。
否则,我猜你在设置中声明了你的 STATIC_URL
两次,因为你说你将它设置为 /static/
,但随后模板似乎将其替换为 dajax
即GET @987654321@ 404 (NOT FOUND)
应该是http://localhost:8000/static/js/jquery.dajax.core.js
【讨论】:
我检查了我的 settings.py 文件,我只设置了一次 STATIC_URL。我还将 sn-p 添加到我的 urls.py 代码中,但我仍然得到同样的错误。如果我刚刚上传了我的应用程序供您查看,会有帮助吗?我只是通过 django runserver 在本地运行它,所以很容易转移到另一个环境。 我是个菜鸟。我的应用程序没有包含在 settings.py 的 INSTALLED_APPS 元组中。添加解决了我的问题。此外,静态文件无需添加静态模式即可工作。以上是关于如何告诉我的 django 模板静态文件(dajax.core.js)在哪里?的主要内容,如果未能解决你的问题,请参考以下文章