添加静态文件目录以覆盖Django中的CSS

时间:2012-04-12 03:00:21

标签: css django static pinax

我试图找出为什么我不能在Django中覆盖base.css

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文件。

知道我做错了吗?

2 个答案:

答案 0 :(得分:1)

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

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

请参阅Django staticfiles app的文档。

答案 1 :(得分:0)

STATIC_ROOT(由STATIC_URL引用)不应手动修改,而是由来自ann apps static dirs和collectstatic的{​​{1}}命令填充。在Django的开发服务器中,还有一个帮助器,它允许直接从源访问静态文件,这样可以更容易地调试JS和CSS。

在您的情况下,您可以尝试在STATICFILES_DIRS内的某处放置更新的文件。另外,请查看STATICFILES_FINDERS,它可以更改静态文件查找器的排序,以设置哪个具有优先级。