Django静态文件有时加载,有时不加载
Django Static Files sometimes load, sometimes not load
我正在开发一个 Django 应用程序,我在应用程序文件夹中创建了一个静态文件夹。我遇到了与静态文件相关的问题。问题是,当我通过 运行 服务器命令 运行 应用程序时,django 会收集静态文件,但是当我更改这些静态文件中的某些内容时,有时文件会更新,有时不会更新,而是收集这些文件的旧版本,即使我通过 运行 服务器命令再次保存文件和 运行 应用程序。当我重命名静态文件(css 和 js 文件)并根据新名称更改 index.html 时,该应用程序可以在一段时间内使用更新的文件名完全正常工作,我一次又一次地遇到这个问题.我厌倦了重命名文件并且没有找到解决这个问题的任何适当方法。我将感谢您的意见和帮助。
我的应用程序的文件夹如下所示:
├───.vscode
├───Project
└───manage.py
└───Project
└───__pycache__/
└───__init__.py
└───asgi.py
└───setting.py
└───urls.py
└───wsgi.py
├───templates
│ └───base.html
└───AppName
└───templates
└───index.html
└───static
└───AppName
└───js
└───indexjs.js //--> This file gets loaded with updated version and sometimes not
└───css
└───style.css //--> This file gets loaded with updated version and sometimes not
└───views.py
└───models.py
└───urls.py
.
.
.
.
settings.py
中的静态文件设置
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'AppName/static')]
我的 index.html 文件中的静态文件设置如下所示:
{% extends 'base.html '%}
{% load static %}
{% block content-style-1 %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="{% static 'AppName/js/jquery-3.5.1.min.js' %}"></script>
<link rel="stylesheet" href="{% static 'AppName/css/style.css' %}">
<script src="{% static 'AppName/js/indexjs.js' %}"></script>
{% endblock %}
{% block content-1 %}
<div class="main">
<p>To do App Django-1</p>
</div>
<div class="main-container-1">
<input type="text" id="textbox-1" name="name" width="50px">
<button type="button" id ="btn-2" class="btn btn-primary">Create</button>
</div>
<div class="card mb-1" id="task-card-id">
<div class="card-body"><p>Card Content</p><button type="button" id="btn-3" class="close">
<span aria-hidden="true">×</span>
</button>
</div>
</div>
{% endblock %}
有时,CSS 不会更新,因为它保存在缓存中。当您编辑 CSS 时,尝试清除缓存(如果您在 google chrome):
点击右上角的更多。
点击更多工具。清除浏览数据。
选中“Cookie 和其他站点数据”和“缓存的图像和文件”旁边的复选框。
点击清除数据。
有时您必须硬刷新浏览器才能看到更改,尤其是 Chrome。也尝试删除 cookie 以查看问题是否停止。我有时做的是在另一个浏览器中打开相同的页面进行直接比较。
您可以通过按住 ctrl
并单击重新加载图标来硬刷新。
“文件已更新”是什么意思?您的意思是您可以在浏览器中看到更改的效果吗?
如果是,我和 Firefox 有同样的问题。它与开发服务器 (runserver) 无关,但 Firefox 不会以可靠的方式重新加载 css 文件。即使重新启动。对于其他浏览器,我从来没有遇到过这个问题。
您可以尝试使用插件清空缓存。我阅读了有关使用 Shift+reload(或 Ctrl?)在 Firefox 中强制重新加载的信息,但它并不总是适用于我的情况。
我正在开发一个 Django 应用程序,我在应用程序文件夹中创建了一个静态文件夹。我遇到了与静态文件相关的问题。问题是,当我通过 运行 服务器命令 运行 应用程序时,django 会收集静态文件,但是当我更改这些静态文件中的某些内容时,有时文件会更新,有时不会更新,而是收集这些文件的旧版本,即使我通过 运行 服务器命令再次保存文件和 运行 应用程序。当我重命名静态文件(css 和 js 文件)并根据新名称更改 index.html 时,该应用程序可以在一段时间内使用更新的文件名完全正常工作,我一次又一次地遇到这个问题.我厌倦了重命名文件并且没有找到解决这个问题的任何适当方法。我将感谢您的意见和帮助。
我的应用程序的文件夹如下所示:
├───.vscode
├───Project
└───manage.py
└───Project
└───__pycache__/
└───__init__.py
└───asgi.py
└───setting.py
└───urls.py
└───wsgi.py
├───templates
│ └───base.html
└───AppName
└───templates
└───index.html
└───static
└───AppName
└───js
└───indexjs.js //--> This file gets loaded with updated version and sometimes not
└───css
└───style.css //--> This file gets loaded with updated version and sometimes not
└───views.py
└───models.py
└───urls.py
.
.
.
.
settings.py
中的静态文件设置STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'AppName/static')]
我的 index.html 文件中的静态文件设置如下所示:
{% extends 'base.html '%}
{% load static %}
{% block content-style-1 %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="{% static 'AppName/js/jquery-3.5.1.min.js' %}"></script>
<link rel="stylesheet" href="{% static 'AppName/css/style.css' %}">
<script src="{% static 'AppName/js/indexjs.js' %}"></script>
{% endblock %}
{% block content-1 %}
<div class="main">
<p>To do App Django-1</p>
</div>
<div class="main-container-1">
<input type="text" id="textbox-1" name="name" width="50px">
<button type="button" id ="btn-2" class="btn btn-primary">Create</button>
</div>
<div class="card mb-1" id="task-card-id">
<div class="card-body"><p>Card Content</p><button type="button" id="btn-3" class="close">
<span aria-hidden="true">×</span>
</button>
</div>
</div>
{% endblock %}
有时,CSS 不会更新,因为它保存在缓存中。当您编辑 CSS 时,尝试清除缓存(如果您在 google chrome):
点击右上角的更多。
点击更多工具。清除浏览数据。
选中“Cookie 和其他站点数据”和“缓存的图像和文件”旁边的复选框。
点击清除数据。
有时您必须硬刷新浏览器才能看到更改,尤其是 Chrome。也尝试删除 cookie 以查看问题是否停止。我有时做的是在另一个浏览器中打开相同的页面进行直接比较。
您可以通过按住 ctrl
并单击重新加载图标来硬刷新。
“文件已更新”是什么意思?您的意思是您可以在浏览器中看到更改的效果吗? 如果是,我和 Firefox 有同样的问题。它与开发服务器 (runserver) 无关,但 Firefox 不会以可靠的方式重新加载 css 文件。即使重新启动。对于其他浏览器,我从来没有遇到过这个问题。 您可以尝试使用插件清空缓存。我阅读了有关使用 Shift+reload(或 Ctrl?)在 Firefox 中强制重新加载的信息,但它并不总是适用于我的情况。