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就可以识别出它是一个静态文件夹,要告诉它,怎么告诉?

本文介绍了Django项目中static和media文件夹的作用。static用于存放静态文件如CSS和JavaScript,而media则用于存储用户上传的图片。在开发模式下,Django会自动处理static文件,但在部署时需通过`collectstatic`命令将所有static文件复制到STATIC_ROOT。STATIC_URL是静态文件的URL别名,STATICFILES_DIRS用于指定额外的静态文件目录。media_url的配置需要在url.py中设置跳转,以便Django能识别并处理用户上传的文件。
最低0.47元/天 解锁文章
2293

被折叠的 条评论
为什么被折叠?



