You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁止Django提供静态文件?仅使用Rest Framework场景

解决Django REST Framework静态文件404问题(无需静态文件场景)

1. 关闭DRF的浏览器API界面(最推荐)

浏览器请求API时触发静态文件请求,是因为DRF默认给浏览器返回带UI的可浏览API页面,这个页面依赖/static/rest_framework下的资源。直接在settings.py里修改渲染器配置,只保留JSON渲染:

REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES': [
        'rest_framework.renderers.JSONRenderer',
        # 删掉或注释掉这行:'rest_framework.renderers.BrowsableAPIRenderer',
    ]
}

修改后,不管是浏览器还是Postman请求,都会只返回纯JSON响应,不会加载任何静态资源。

2. 保留基础静态配置但避免DRF静态请求

Django核心功能依赖STATIC_URL配置,直接删除会导致项目启动失败。所以只需要保留最基础的静态配置,同时确保DRF的UI不生效:

  • 在settings.py中保留STATIC_URL = '/static/'
  • 不需要配置STATIC_ROOT、STATICFILES_DIRS这些额外的静态文件路径(除非你自己有自定义静态资源)

3. 极端方案:移除DRF静态文件(不推荐)

如果你确定永远不会用到DRF的浏览器调试界面,可以手动删除DRF安装目录下的static/rest_framework文件夹。但这个方法不够灵活,后续如果需要临时调试API,还要重新安装DRF恢复静态资源,所以优先用前两种方法。

验证

重启本地Django服务后,用浏览器访问API接口,应该直接返回JSON内容,浏览器控制台也不会再出现/static/rest_framework相关的404错误,和Postman的响应完全一致。

内容的提问来源于stack exchange,提问作者Matteo Possamai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:45:45