2012-04-15 52 views
0

我在本地创建了一个Django项目,该项目没有任何问题。但是,在亚马逊AWS上安装一个令人讨厌和困难的Cherokee + uWSGI后,我的项目没有显示Django .css内部文件。Django不加载内部.css文件

http://f.cl.ly/items/2Q2W3I3R0X1n2X3v0q2P/django_error.jpg < - /Admin/看起来像这样

的图像的画面我/管理/,应该有不同的风格,但.css文件不会被加载。

[pid: 23206|app: 0|req: 19/19] 83.49.10.217() {56 vars in 1121 bytes} [Sun Apr 15  05:50:24 2012] GET /static/admin/css/base.css => generated 2896 bytes in 6 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0) 

[pid: 23206|app: 0|req: 20/20] 83.49.10.217() {56 vars in 1125 bytes} [Sun Apr 15 05:50:24 2012] GET /static/admin/css/login.css => generated 2899 bytes in 5 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0) 

这是来自切诺基的日志。我不明白为什么它在该路径中查找.css文件。切诺基应该在Django原始目录中搜索文件,所以我没有在我的项目中更改.css文件。

有什么建议吗?非常感谢。

回答

1

这听起来像你使用Django 1.4,这是预期的行为。

结帐的向后兼容的更改部分release notes

所包含的管理应用django.contrib.admin有很长一段时间 附带的静态文件如JavaScript, 图像和样式表一组默认。 Django 1.3添加了一个新的贡献应用程序 django.contrib.staticfiles以通用方式处理这些文件, 为应用程序中包含的静态文件定义了约定。

从Django 1.4开始,管理员的静态文件也遵循这个约定,使文件更容易部署。在Django以前的版本 中,定义ADMIN_MEDIA_PREFIX设置 以指向管理员的静态文件位于Web 服务器上的URL也很常见。此设置现已被弃用,并由更多的 常规设置STATIC_URL取代。 Django现在预计会在URL/admin /下找到admin 静态文件。

如果您以前用于ADMIN_MEDIA_PREFIX一个URL路径(例如 /媒体/)只需确保STATIC_URL和STATIC_ROOT配置 和Web服务器正确地提供这些文件。开发 服务器继续像以前一样提供管理文件。有关更多详细信息,请阅读 静态文件howto。

如果您ADMIN_MEDIA_PREFIX设置为一个特定的域(例如 http://media.example.com/admin/),确保还设置你的 STATIC_URL设置正确的URL - 例如, http://media.example.com/ *

+0

谢谢!全部解决了。我不知道Django 1.4中的静态文件系统已经改变。 – 2012-04-15 17:11:53