1

我试图弄清楚为什么我不能base.css在 Django 中覆盖。

settings.py我有:

STATIC_URL = "/site_media/static/"

并在site_base.html

<link rel="stylesheet" href="{{ STATIC_URL }}pinax/css/base.css" />

我已经自定义了位于/site_media/static/pinax/css/base.css. 但是不是从这里读取文件,而是从我的python/site-packages/pinax目录中读取它。在同一个site_base.html文件中,我能够覆盖/site_media_static/pinax/images/文件夹中的图像,这似乎很奇怪,我可以覆盖图像但不能覆盖 CSS 文件。

知道我做错了什么吗?

4

2 回答 2

1

STATIC_URL是提供静态文件的 URL,而不是存储它们的目录。

您需要将包含静态文件的目录添加到STATICFILES_DIRS或将静态文件放在应用程序的static子目录中。

请参阅Django 静态文件应用程序的文档。

于 2012-04-12T03:07:10.957 回答
0

STATIC_ROOT(由 引用STATIC_URL)不应手动修改,它是由collectstatic来自 ann apps static dirs 和STATICFILES_DIRS. 在 Django 的开发服务器中,还有一个帮助程序,它允许直接从源代码访问静态文件,从而可以更轻松地调试 JS 和 CSS。

在您的情况下,您可以尝试将更新的文件放在STATICFILES_DIRS. 另外,看看STATICFILES_FINDERS哪些可以更改静态文件查找器的顺序以设置哪个优先级。

于 2012-04-12T03:09:54.383 回答