我如何在Django中使用CSS?

我正在使用Django创build我的应用程序,并且想知道如何让Django使用我的CSS文件? 我需要做什么设置,使Django看到的CSS文件?

注意:在本地机器上

如果您使用的是开发服务器,请按照django项目的操作指南来pipe理静态文件以设置您的URL,然后在模板中引用媒体文件 – 例如,从/site_mediahttp://img.dovov.comfoo.gif

更一般地说,你问的是如何从Django提供静态文件。 如果你在Apache下运行,你应该阅读http://docs.djangoproject.com/en/dev/howto/deployment/modpython/

如果您正在运行开发服务器(例如,在您的笔记本电脑上),请阅读http://docs.djangoproject.com/en/dev/howto/static-files/

请注意关于Django开发服务器的重要的免责声明

  • 使用这个服务器是低效和不安全的。
  • 不要在生产环境中使用它。
  • 只用于开发。

这也导致了我一段时间的问题(404没有发现错误)。 对我来说缺less的一点是编辑STATICFILES_DIRS中的STATICFILES_DIRS元组给我:

 STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. os.path.join(os.path.dirname(__file__),'media').replace('\\','/'), ) 

然后,我在我的django项目顶层的一个名为“media”的文件夹中find了我的CSS文件。

我也有:

 MEDIA_ROOT = '' MEDIA_URL = '' STATIC_ROOT = '' STATIC_URL = '/media/' 

(确保你在STATIC_URL有领先/以上)

当然,如上所述,您需要从您的html文件正确包含CSS文件。 我有:

 <link href="{{ STATIC_URL }}css/ea_base.css" rel="stylesheet" type="text/css" media="screen" /> 

我需要做什么设置使Django看到css文件?

没有。

确保您的模板包含CSS文件(如标准HTML所示),并将CSS文件放在媒体服务器上。

为了澄清:使用Django,强烈build议您从不同的服务器实例提供所有媒体(不是dynamichtml的所有内容)。 你如何实现这一切完全取决于你,但大多数人创build一个子域。

官方Django文档没有帮助我。 希望博客文章“ Django:如何提供静态文件 ”帮助你们中的一些人。

那么使用django最简单的方法就是把它作为静态文件添加到你的模板中。

但是这有点像ajax,我没有find任何说明如何以标准方式包含它的东西。

如果你想优化它的大小,有一个django的css压缩器模块。