static & media
-
在Django应用的文件夹下,经常会发现这两个文件夹:
-
static, media;
-
static称为静态文件夹,用于存放CSS, JavaScript, 网站logo等不变的文件;
-
相对的,把media称为媒体文件夹,用于存放用户上传的图片。
-
STATIC_ROOT
通常情况下我们是在开发模式下(Debug=True),我们可以创建project,project下放着我们建立的app。
如果此时,你的static静态文件夹是放在app目录下,那么开发模式下,Django将会自动查找每个app下的静态文件并在网页中显示。(但我自己在做Django项目的时候,我的static文件是放置在了project目录下,所以我没有对这个解释进行验证)
在部署模式下,我们需要运行python manage.py collectstatic这个命令(在manage.py同级目录下运行),这个命令会把每个app目录下的文件copy到STATIC_ROOT这个文件夹下。此时为部署模式(Debug=False),
如果想要通过http://127.0.0.1/static/***访问,将不会访问各个app下的static,而是STATIC_ROOT中所指定的文件夹(当然想要通过url访问,这里还少了对static_url的配置,后面会提到)
STATICFILES_DIR
对于STATICFILES_DIR,举例:我在project下设置了一个名为static的文件夹,但不是说你在project下起名为static,Django就可以识别出它是一个静态文件夹,要告诉它,怎么告诉?