静态文件(如css, js, images等)可以放在项目根目录或者应用内的static文件夹下。
在settings.py中配置:
STATIC_URL= "media/" # 指定用户通过浏览器访问静态资源的url路径
STATICFILES_DIRS = [ ] # 除了应用内static静态资源,django查找静态文件的额外目录
在开发环境下,django会自动提供静态服务。
当部署到生产环境时,需要配置:
STATIC_ROOT = os.path.join(BASE_DIR, ‘collected_static’) # 指定web服务器查找静态文件的目录
执行 collectstatic命令,将所有静态资源收集到collected_static目录下。
python manage.py collectstatic
Django 本身不擅长处理静态/媒体文件,生产环境下须使用 Web 服务器(如 Nginx)直接托管 MEDIA_ROOT
目录:
location /media/ {
alias /path/to/your/project/media/; # 对应 MEDIA_ROOT
}
注意:static_url和static_root的区别