在Django中包含CSS

16 浏览
0 Comments

在Django中包含CSS

我对Django还不熟悉,在模板中包含CSS样式时遇到了困难。

我阅读了这个,尝试做了同样的事情,但对我来说没有起作用。

我的模板:

{% load static %}

我得到的HTML代码:


请注意这是包含我的CSS的文件夹。

谢谢,Boris。

0
0 Comments

在Django中包含CSS的问题是由于没有使用静态CSS样式表所引起的。可以通过设置`

{% endblock stylesheet %} ....

同时需要设置`MEDIA_ROOT`和`MEDIA_URL`来存储CSS文件,示例如下:

MEDIA_ROOT=/Media/css/
MEDIA_URL=http://localhost/mysite/

需要注意的是,如果没有定义`STATIC_URL`,它将默认为`MEDIA_URL`。

有人问Media root是否应该存储用户上传的文件,答案是否定的。`site_media`(或其他你设置的目录)用于存储所有项目的静态资源,包括上传的文件、图片、JavaScript和CSS等。

需要注意的是,在Django 1.3版本中,通过使用`staticfiles`应用程序,上述说法不再完全正确。你不必强制使用`staticfiles`,但它可以更好地管理静态文件。

,媒体根目录不仅仅用于存储上传的文件,它可以用于存储其他静态媒体文件,但不是强制要求的。

0
0 Comments

在Django中引入CSS的时候,可能会遇到一个问题,即无法正确加载CSS样式。这个问题的出现可能是由于混淆了STATIC_ROOT和STATIC_URL这两个设置导致的。

STATIC_ROOT定义了文件在存储系统中的位置(通常是本地硬盘用于本地开发),而STATIC_URL定义了服务器从哪里提供这些文件。在模板中通常会引用第二个设置,并且也是{% get_static_prefix %}模板标签返回的值。

为了解决这个问题,我们需要确保STATIC_ROOT和STATIC_URL这两个设置的值正确设置。

以下是一个示例配置文件的设置部分:

STATIC_URL = '/static/'
STATIC_ROOT = '/path/to/static/files/'

在上面的示例中,STATIC_URL设置为"/static/",这意味着我们在模板中引用静态文件时需要以这个URL为前缀。而STATIC_ROOT设置为"/path/to/static/files/",这是文件在存储系统中的实际位置。

通过正确设置STATIC_URL和STATIC_ROOT,我们就能够正确加载CSS样式了。

0