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

使用Django REST Framework搭建API时,是否可使用Django Admin管理模型?

当然支持!Django REST Framework 完全兼容 Django Admin 站点

别担心,Django REST Framework(DRF)本身就是基于Django核心框架构建的扩展工具,它和原生的Django Admin站点完全兼容,两者可以无缝配合实现你想要的功能:用Admin管理数据库对象,用DRF对外提供REST API接口。

具体怎么配置?其实和普通Django项目+DRF的配置流程一致,分几步就能搞定:

  • 第一步:确保Django Admin已经启用(默认新建Django项目时就已经配置好了)

    • 检查settings.py的INSTALLED_APPS里包含django.contrib.admin
    • 检查项目根目录的urls.py里有Admin的路由配置:
      from django.contrib import admin
      urlpatterns = [
          path('admin/', admin.site.urls),
          # 你的DRF API路由
      ]
      
  • 第二步:为你的数据库模型注册Django Admin
    在对应app的admin.py里注册模型,和普通Django项目完全一样:

    from django.contrib import admin
    from .models import YourModel
    
    admin.site.register(YourModel)
    

    这样你就能通过/admin路径访问后台,添加、修改、删除数据库对象了。

  • 第三步:正常配置DRF的API接口
    按照DRF的流程创建序列化器(Serializer)、视图(View/ViewSet),并配置API路由,比如:

    # serializers.py
    from rest_framework import serializers
    from .models import YourModel
    
    class YourModelSerializer(serializers.ModelSerializer):
        class Meta:
            model = YourModel
            fields = '__all__'
    
    # views.py
    from rest_framework import viewsets
    from .models import YourModel
    from .serializers import YourModelSerializer
    
    class YourModelViewSet(viewsets.ModelViewSet):
        queryset = YourModel.objects.all()
        serializer_class = YourModelSerializer
    

    配置好路由后,API就能返回Admin后台管理的数据库对象了。

为什么DRF文档里没专门讲Admin?

因为Django Admin是Django原生的核心功能,DRF的文档专注于REST API相关的扩展内容,不会重复覆盖Django本身的基础功能。你完全可以把DRF看作是Django的一个“API增强插件”,原生Django的所有功能(包括Admin、ORM、认证等)都能正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 23:17:37