我正在使用 Django 创建我的应用程序,并且想知道如何让 Django 使用我的 CSS 文件?我需要做哪些设置才能让 Django 看到 css 文件?
注意:在本地机器上
我正在使用 Django 创建我的应用程序,并且想知道如何让 Django 使用我的 CSS 文件?我需要做哪些设置才能让 Django 看到 css 文件?
注意:在本地机器上
如果您使用开发服务器,请按照django 项目的操作指南管理静态文件来设置您的 URL,然后在模板中引用您的媒体文件——例如,图像文件夹中的图像/site_media/images/foo.gif
。
更一般地说,您是在询问如何从 Django 提供静态文件。如果你在 Apache 下运行,你应该阅读http://docs.djangoproject.com/en/dev/howto/deployment/modpython/
如果您正在运行开发服务器(例如,在您的笔记本电脑上),请阅读http://docs.djangoproject.com/en/dev/howto/static-files/
请注意关于 Django 开发服务器的大而厚的免责声明:
这也给我带来了一段时间的问题(404 未找到错误)。对我来说缺少的一点是编辑STATICFILES_DIRS
settings.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('\\','/'),
)
然后,这在我的 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" />
我需要做哪些设置才能让 Django 看到 css 文件?
没有任何。
确保您的模板包含 CSS 文件(与标准 HTML 一样)并将 CSS 文件放在媒体服务器上。
澄清一下:对于 Django,强烈建议您从不同的服务器实例提供所有媒体(不是动态 html 的所有内容)。你如何实现这完全取决于你,但大多数人创建一个子域。
官方 django 文档对我没有帮助。希望博文“ Django:如何提供静态文件”对你们中的一些人有所帮助。
将 css 与 django 一起使用的最简单方法是将其作为静态文件添加到模板中。
但它有点像 ajax,我没有找到任何说明如何以标准方式包含它的东西。
如果你想优化它的大小,有一个用于 django 的css-compressor模块。