我如何在Django中使用CSS?

时间:2008-11-04 08:12:44

标签: css django django-forms

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

注意:在本地计算机上

6 个答案:

答案 0 :(得分:48)

如果您正在使用开发服务器,请按照django project's how-to guide for managing static files设置您的网址,然后在模板中引用您的媒体文件 - 例如,/site_media/images/foo.gif中图片文件夹中的图片。

答案 1 :(得分:36)

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

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

请注意关于Django开发服务器的重大,轻量级免责声明

  • 使用此服务器效率低且不安全。
  • 请勿在生产环境中使用此功能。
  • 仅用于开发。

答案 2 :(得分:13)

这也引起了我一段时间的问题(404找不到错误)。我缺少的是编辑settings.py中的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”的文件夹中拾取我的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" />

答案 3 :(得分:12)

  

我需要做什么设置才能让Django看到css文件?

无。

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

澄清一下:使用Django时,强烈建议您从其他服务器实例提供所有媒体(非动态html的所有内容)。你如何实现这完全取决于你,但大多数人都创建了一个子域。

答案 4 :(得分:8)

官方django文档没有帮助我。希望博客文章“Django: How to serve static files”可以帮助你们中的一些人。

答案 5 :(得分:0)

使用cj和django最简单的方法是将它作为静态文件添加到模板中。

但它有点像ajax,我没有发现任何能说明如何以标准方式包含它的内容。

如果你想优化它的大小,那么django有一个css-compressor模块。