Django使用live reload功能时CSS无法正常更新该如何解决?
问题描述
我刚刚搞懂了如何在Django中使用live reload,参考了相关技术社区的内容。我采用了高赞回答的方案,不过我没有执行./manage.py livereload,而是执行的python manage.py livereload。
我现在遇到的问题是CSS无法正常加载更新。我确认问题和live reload有关,因为使用常规的python manage.py runserver启动服务时CSS加载是正常的。
补充说明:我使用的是Windows 10系统,在包含manage.py文件的目录下的命令提示符中执行的命令。
解决方案
- 调整项目配置
确保settings.py中符合以下配置要求:DEBUG = True(开发场景下必须开启,生产环境需关闭)INSTALLED_APPS列表中添加livereloadMIDDLEWARE列表的第一个位置添加livereload.middleware.LiveReloadScript- 新增静态资源监听配置,明确指定livereload需要监听的文件范围:
LIVERELOAD_WATCH = [ (STATICFILES_DIRS[0] if STATICFILES_DIRS else "static", ("css", "scss", "js")), ("templates", ("html",)), ] - 修正启动流程
Windows系统下不要使用类Unix的./manage.py格式命令,同时需要开启两个独立的命令提示符窗口,都切换到manage.py所在目录,分别执行命令:- 第一个窗口运行Django服务:
python manage.py runserver - 第二个窗口运行livereload监听服务:
python manage.py livereload
- 第一个窗口运行Django服务:
- 处理静态资源缓存
打开浏览器开发者工具(按F12唤起),切换到「网络」面板,勾选「禁用缓存」选项,开发过程中保持开发者工具处于开启状态,即可避免本地缓存导致的CSS更新不生效问题。 - 校验依赖版本兼容性
如果以上操作都无效,可卸载旧版本的livereload依赖,安装适配高版本Django的最新版本:pip install --upgrade django-livereload-server
内容的提问来源于stack exchange,提问作者theProCoder
相关产品推荐
相关产品推荐

