我在Windows本地做Django 4.1,修改后发现我的静态文件没有更新,连
http://127.0.0.1/static/app_name/styles/css_name.css
上显示的内容都是旧的CSS文件。开发快一年了突然出现这个问题
在setting.py中:
DEBUG = True
STATIC_URL = "static/"
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
我已经尝试过以下方法:
Ctrl+F5
python manage.py collectstatic
/python manage.py collectstatic --clear
/python manage.py collectstatic --noinput --clear
,在这里我发现运行这个命令后,修改后的静态文件会变回原来未修改的版本。/static/app_name/styles/css_name.css?v=aCtZoGSzObVTeNCAbWjPyLpyStrYek6A
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, view=cache_control(no_cache=True, must_revalidate=True)(serve))
以上所有方法都没有解决我的问题。
我看到有人建议重启
gunicorn
/nginx
会有所帮助,但似乎它在 Linux 而不是 Windows 上。
可以是什么?也许 Django 在某处保存了一些旧的静态文件并每次都获取它们?
非常感谢@jsanchezs 的评论。问题是当我运行
python manage.py collectstatic
它在应用程序文件夹之外创建了另一个文件夹并引用它。
所以我只是将 STATIC_ROOT 更改为
STATIC_ROOT = os.path.join(BASE_DIR, 'app_name' ,'static')
解决问题!非常感谢大家的帮助。