Django中静态文件如何配置?

分类:Python 创建时间:2025年4月3日 18:53 更新时间:2025年4月3日 19:03

静态文件(如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的区别