【发布时间】:2013-01-02 08:32:06
【问题描述】:
我有一个 Django 1.4 项目,在 Python 2.7 上运行,我使用的是 Dajaxice 0.5.4.1。我已经在我的开发机器(Windows 7)上进行了设置,一切正常。但是,当我将应用程序部署到生产服务器(Ubuntu 12.04)时,dajaxice.core.js 文件出现 404 错误,无论如何都无法解决此问题。生产服务器使用完全相同的所有软件版本。
我的项目结构如下:
/myproject
/myproject/myproject-static/ <-- all the static files are here
/myproject/myproject-static/css/
/myproject/myproject-static/img/
/myproject/myproject-static/js/
/myproject/templates/
/myproject/myproject/
/myproject/main/
/myproject/app1/
/myproject/app2/
/myproject/app3/
etc.
我按照 Dajaxice 安装步骤 here 并将所有内容放在原位(在 settings.py、˙urls.pyandbase.html` 文件中)。
我的settings.py 文件也有这些值:
from unipath import Path
PROJECT_ROOT = Path(__file__).ancestor(3)
STATIC_ROOT = ''
STATIC_URL = '/myproject-static/'
STATICFILES_DIRS = (
PROJECT_ROOT.child('myproject-static'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'dajaxice.finders.DajaxiceFinder',
)
DAJAXICE_MEDIA_PREFIX = "dajaxice"
DAJAXICE_DEBUG = True
我的django.conf 文件中有一个Alias 指令,如下所示:
Alias /myproject-static/ "/path/to/myproject/myproject-static/"
我在生产服务器上执行了collectstatic,并将所有静态文件收集在项目根目录的几个文件夹中。所以,现在当我查看我部署的网站时,我可以看到 CSS 已正确应用,JavaScript 工作正常,并且网站周围的导航按预期工作。一切都很好,除了 Ajax 完全坏了,因为 dajaxice.core.js 从未被包含在内。
我收集静态后的项目文件夹结构如下:
/myproject
/myproject/myproject-static/ <-- all the static files are originally here
/myproject/myproject-static/css/
/myproject/myproject-static/img/
/myproject/myproject-static/js/
/myproject/templates/
/myproject/admin/ <-- folder created with 'collectstatic' command
/myproject/css/ <-- folder created with 'collectstatic' command
/myproject/dajaxice/ <-- dajaxice.core.js is located here
/myproject/django_extensions/ <-- folder created with 'collectstatic' command
/myproject/img/ <-- folder created with 'collectstatic' command
/myproject/js/ <-- folder created with 'collectstatic' command
/myproject/myproject/
/myproject/main/
/myproject/app1/
/myproject/app2/
/myproject/app3/
etc.
我在这里的静态文件做错了什么吗?
我还应该尝试什么来解决这个简单的错误?
【问题讨论】:
-
你好,我也遇到了类似的问题,请问你最后解决了吗?
标签: ajax django ubuntu django-staticfiles dajaxice