django - Django + Sass + Compressor:加载缓存的css文件,无法更新或删除
问题描述
啊哈!
我一直在做一个 django 项目,最近改用 SASS 进行样式设置。对 css 文件的初始编译似乎工作正常,但是一旦我去更新文件,我注意到更改没有反映在浏览器中。
经过进一步调查,我确定问题是位于 static/CACHE/css/output.ad5d8929a444.css 的缓存文件,但是我无法在文件系统中的任何位置找到该文件,并运行诸如
./manage.py compilescss --remove
./manage.py collectstatic
不能解决问题。
我试过四处寻找其他问题,似乎这个问题是最密切相关的,但是这个建议在我的情况下不起作用。我已经尝试删除所有浏览器数据,并且我通常只在 Chrome 中使用隐身模式进行开发,以避免首先缓存文件。我曾尝试在我的文件系统中搜索该文件,但是,我似乎无法找到 statice/CACHE 文件夹。
我的问题是如何强制 django 使用新的 css 文件,以及在哪里可以找到缓存文件夹?这是我第一次使用 SASS 进行样式设计,因此对该部门的任何建议表示赞赏。
设置.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/my_portfolio/my_portfolio/static/')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'my_portfolio/static'),
]
STATICFILES_FINDERS = [
'compressor.finders.CompressorFinder',
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'my_portfolio/img')
MEDIA_URL = '/img/'
#SASS
STATIC_FILES_FINDERS = [
'compressor.finders.CompressorFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'sass_processor.finders.CssFinder',
]
# SASS_PROCESSOR_INCLUDE_DIRS = [
# os.path.join(BASE_DIR, 'my_portfolio/static/my_portfolio'),
# ]
SASS_PROCESSOR_ROOT = os.path.join(PROJECT_ROOT, 'static')
COMPRESS_PRECOMPILERS = (
('text/x-scss', 'django_libsass.SassCompiler'),
)
COMPRESS_ENABLED= True
base.html
{% load static %}
{% load sass_tags %}
{% load compress %}
{% compress css %}
<link rel="stylesheet" href="{% sass_src 'my_portfolio/stylesheet.scss' %}" type='text/css'>
{% endcompress %}
如果您需要任何进一步的信息,请告诉我,我会相应地更新问题。
感谢您提供的任何和所有提示或建议!
解决方案
您的浏览器可能已经缓存了样式表。清除浏览器的缓存并重新加载页面,看看它是否改变。
推荐阅读
- python - 从 CSV 将值读入 python,创建新值,如何将其添加到新行?
- javascript - iframe 中的文本可以复制到剪贴板吗?
- teradata - How to merge records based on consective fields in Teradata
- python - plt.show() 不打印 plt.plot 仅 plt.scatter
- ios - 具有背景的 ScrollView 会中断导航标题
- micronaut - 当在 micronaut 中过滤并订阅结果时,只允许一个订阅者错误
- r - 在R中将字符串拆分为数据框(列名称和值)
- c - 如何使用 ld 链接已编译的 .o 文件
- python - Pandas 的 For 循环:如何改进代码?
- node.js - 如何存储、访问和检索从 Nodejs-Express ( MongoDB ) 到 Angular8 FrontEnd 的图像文件,