为何修改Django静态文件inbox.js后服务器未同步更新?
问题:Django静态文件修改不生效,新文件无法被服务器返回
背景信息
我正在学习CS50W课程,目前在完成课程提供的Django Mail单应用代码。所有后端Python代码和逻辑都已完成,我只需要修改静态文件夹里的inbox.js实现新功能,但静态文件出了问题。
实际问题
对inbox.js的任何修改都不生效,服务器始终返回初始版本。甚至在静态文件夹里新建文件,服务器也不会返回这些新文件。
我的inbox.js代码
document.addEventListener('DOMContentLoaded', function() { // Use buttons to toggle between views document.querySelector('#inbox').addEventListener('click', () => load_mailbox('inbox')); document.querySelector('#sent').addEventListener('click', () => load_mailbox('sent')); document.querySelector('#archived').addEventListener('click', () => load_mailbox('archive')); document.querySelector('#compose').addEventListener('click', compose_email); // By default, load the inbox load_mailbox('inbox'); }); function compose_email() { // Show compose view and hide other views document.querySelector('#emails-view').style.display = 'none'; document.querySelector('#compose-view').style.display = 'block'; // Clear out composition fields document.querySelector('#compose-recipients').value = ''; document.querySelector('#compose-subject').value = ''; document.querySelector('#compose-body').value = ''; } function load_mailbox(mailbox) { // Show the mailbox and hide other views document.querySelector('#emails-view').style.display = 'block'; document.querySelector('#compose-view').style.display = 'none'; // Show the mailbox name document.querySelector('#emails-view').innerHTML = `<h3>${mailbox.charAt(0).toUpperCase() + mailbox.slice(1)}</h3>`; }
已尝试的解决方法
- 停止并重启服务器,无变化
- 参考过两篇关于Django静态文件修改的解决方案,均无效
解决方案
- 强制清除浏览器缓存:按
Ctrl + Shift + R(Windows/Linux)或Cmd + Shift + R(Mac)强制刷新页面,绕过浏览器缓存加载最新静态文件。 - 验证静态文件配置:检查
settings.py中的静态路径配置,确保STATICFILES_DIRS指向你存放inbox.js的文件夹,模板中引用脚本的路径使用{% static 'inbox.js' %}格式。 - 禁用开发环境静态缓存:在
settings.py中确保DEBUG = True,添加STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage';或启动服务器时加参数:python manage.py runserver --nostatic。 - 确认文件位置:检查修改的
inbox.js是否在Django配置的静态文件夹内,避免误修改了其他目录的同名文件。 - 核对服务器目录:确认启动的Django服务器指向当前修改的项目目录,没有启动其他项目副本。
内容的提问来源于stack exchange,提问作者Cauã
相关产品推荐
相关产品推荐

