Django不加载内部.css文件

时间:2012-04-15 05:03:13

标签: python css django uwsgi cherokee

我在本地创建了一个没有任何问题的Django项目。但是,在Amazon AWS上安装烦人且困难的Cherokee + uWSGI之后,我的项目没有显示Django .css内部文件。

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

图像是我的/ 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)

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

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

1 个答案:

答案 0 :(得分:1)

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

检查release notes中的向后不兼容更改部分:

  

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

     

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

下的静态文件      

如果您以前使用过ADMIN_MEDIA_PREFIX的网址路径(例如   / media /)只需确保配置了STATIC_URL和STATIC_ROOT   并且您的Web服务器正确地提供这些文件。发展   服务器继续像以前一样提供管理文件。阅读   静态文件howto了解更多详情。

     

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