测试环境:
操作系统: Window 10
工具:Pycharm
1. Django 中的 collectstatic 命令
理解这条命令的前提是,要知道什么是 app
,app
内也可以有
static 文件夹 / 目录,和 Django 项目的原始文件一样。
一开始 /static/ 文件夹 / 目录,是不存在的需要自己创建的,所以当有多个 app ,且这些 app 文件夹内各自有一个 static 文件夹 / 目
录,那么可以利用 collectstatic
命令收集 /static/ 目录内的所有文件 到指定 文件夹 / 目录 内。
在此之前需要在项目根目录下创建 collectedstatic 新目录和 Django 项目的主 static 目录。
然后在终端执行命令:
python manage.py collectstatic
之后就会复制文件到 collectedstatic 指定目录下,重点是 STATIC_ROOT
指定新的目录
参考链接:https://www.cnblogs.com/baby12138/p/10834067.html
2. 静态文件的访问
之前看到了 Django 项目的主路由表文件 urls.py
文件内的代码有如下所示例子:
urlpatterns = [
# 其他的url映射
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
就觉得困惑,去查了下
如果没有在
settings.INSTALLED_APPS
中添加django.contrib.staticfiles
。那么我们就需要手动的将请求静态文件的url
与静态文件的路径进行映射了。示例代码如下:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# 其他的url映射
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
但平时我们并不会用到这个,Django内置已经将
django.contrib.staticfiles
添加进去了的,我们为什么要给他删除来自找麻烦呢?放在这里也只是提供一个参考,了解一下。
其实是默认添加静态文件的 url
的,无需理会就是。
最后分享一个快捷键的使用:在我们写项目的时候,有时候修改了代码而没有效果,这是因为浏览器使用的缓存加载,这个时候我们就可以使用这个快捷键来不使用缓存加载一个文件,来达到查看修改代码之后的效果的目地。
ctrl+shift+r
—— 不使用缓存加载一个文件
END