我如何在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压缩器模块。