我如何在Django中使用CSS?

gat*_*ath 109 css django django-forms

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

注意:在本地机器上

Joe*_*Joe 48

如果您正在使用开发服务器,请按照django项目的管理静态文件的操作指南来设置URL,然后在模板中引用媒体文件 - 比如图像文件夹中的图像/site_media/images/foo.gif.

  • 只需快速记下那些Django文档 - 确保选择您正在使用的Django版本的文档.关于静态文件,版本之间的情况似乎发生了很大变化. (25认同)
  • @Sam有一个很好的观点.我不知道我的生活中的静态文件.然后,更改安装的django版本,瞧.这实际上是我必须做的所有事情,因为显然我正在查看错误版本的文档. (3认同)

Pet*_*ell 36

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

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

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

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

  • 我非常喜欢那些在回复发布后4年就出现并向下投票的人.我想知道他们是否知道11月11日的Django*是什么*可能不是.这不是给我的代表点,它是无知和傲慢的显示组合,只是暗示*waaay*迟到了派对.我想知道他们如何评价我的帖子到comp.lang.c,哦,比方说,1987年?最好不要问. (13认同)

jac*_*ury 13

这也引起了我一段时间的问题(404找不到错误).对我来说,遗漏的是编辑STATICFILES_DIRSsettings.py中的元组给我这个:

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('\\','/'),
)
Run Code Online (Sandbox Code Playgroud)

然后,我在我的django项目顶层的一个名为"media"的文件夹中获取了我的CSS文件.

我也有:

MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)

(确保你有/上面的前导STATIC_URL)

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

<link href="{{ STATIC_URL }}css/ea_base.css" rel="stylesheet" type="text/css" media="screen" />
Run Code Online (Sandbox Code Playgroud)


Oli*_*Oli 12

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

没有.

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

澄清一下:对于Django,强烈建议您从不同的服务器实例提供所有媒体(非动态html的所有内容).您如何实现这完全取决于您,但大多数人创建子域.

  • 嗨,奥利.我知道这篇文章接近3年了,但这仍然是将css链接到django模板的最佳方式吗?这似乎是最容易将css链接到像abs.example.com这样的abs URL,并且只是将所有静态文件存储在该URL中. (2认同)

Jam*_*mar 8

官方django文档没有帮助我.希望博客文章" Django:如何提供静态文件 "可以帮助你们.