首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有办法在DRF中使用django adminsite

在DRF(Django REST Framework)中使用Django Admin Site是可行的。Django Admin Site是Django框架提供的一个强大的管理后台界面,用于管理和操作数据库中的数据。

在DRF中使用Django Admin Site有以下几个步骤:

  1. 首先,确保已经正确配置了Django Admin Site。在项目的urls.py文件中,需要将admin.site.urls包含在urlpatterns中,以便可以访问到Django Admin Site的相关功能。
  2. 创建一个Django REST Framework的ViewSet,用于处理API的请求和响应。ViewSet是DRF中用于处理资源的视图类,可以处理GET、POST、PUT、DELETE等HTTP请求。
  3. 在ViewSet中,可以通过继承Django Admin Site的ModelAdmin类,来自定义资源的管理界面。ModelAdmin类提供了一些方法,可以自定义列表展示、过滤器、搜索字段、字段显示等功能。
  4. 在ViewSet中,可以通过重写get_queryset方法,来指定资源的查询集。可以使用Django的ORM查询语法,对数据进行过滤、排序等操作。
  5. 在ViewSet中,可以通过重写get_serializer_class方法,来指定资源的序列化器。序列化器用于将数据库中的数据序列化为JSON格式的响应,或将请求的JSON数据反序列化为数据库对象。
  6. 在ViewSet中,可以通过重写perform_create和perform_update方法,来自定义资源的创建和更新逻辑。可以在这些方法中执行一些额外的操作,如发送通知、触发其他业务逻辑等。
  7. 最后,在项目的urls.py文件中,将ViewSet注册到路由中,以便可以通过API的URL访问到资源。

使用DRF中的Django Admin Site可以带来以下优势:

  1. 简化开发:Django Admin Site提供了一个功能完善的管理后台界面,可以快速实现对数据库中数据的增删改查操作,减少了开发人员编写管理界面的工作量。
  2. 可定制性强:通过继承ModelAdmin类,可以自定义资源的管理界面,满足不同项目的需求。可以调整字段显示、添加过滤器、搜索字段等功能,提高了管理界面的灵活性。
  3. 与DRF无缝集成:DRF提供了一套强大的API开发框架,可以方便地处理API的请求和响应。使用Django Admin Site可以与DRF无缝集成,实现对数据库的管理和对外提供API的功能。

在使用DRF中的Django Admin Site时,可以考虑使用腾讯云的云服务器(CVM)来部署项目,腾讯云的CVM提供了稳定可靠的云计算基础设施。此外,腾讯云还提供了云数据库MySQL版(TencentDB for MySQL)和云数据库PostgreSQL版(TencentDB for PostgreSQL),可以作为项目的数据库存储解决方案。

更多关于腾讯云相关产品和产品介绍的信息,可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django-bootstrap3|Django快速使用Bootstrap模版

前言 关于如何快速基于Django使用别人写好的模版搭建网站之前已经有详细讲过,一般我们Django使用Bootstrap模版都需要经过以下几个步骤 下载一个Bootstrap模版 创建app并粘贴模板到对应的的...templates文件夹 修改settings.py、urls.py、views.py等文件 创建static文件夹并修改相关css、js文件的链接跳转 启动Django 最近在逛GitHub时发现一个名为...django-bootstrap3插件,使用该插件可以更快速的使用bootstrap模版,今天给大家分享一下。...使用django-bootstrap3 首先我们需要下载安装django-bootstrap3插件,使用 pip install django-bootstrap3 即可成功安装,但是使用该插件需要:...Python版本> = 3.5 Django版本> = 2.1 如果你的环境不满足需要先进行升级,相关环境及依赖配置好后后,只需要在settings.py文件的INSTALLED_APPS添加'bootstrap3

5.8K20

Python 的 Descriptor Django 使用

这篇通过Django源码的cached_property来看下Python中一个很重要的概念——Descriptor(描述器)的使用。想必通过实际代码来看能让人对其用法更有体会。...下面来看下这个DescriptorDjango是怎么被使用的。...Django的cached_property Django项目的utils/functional.py这么一个类:cached_property。从名字上可以看出,它的作用是属性缓存。...cached_property代码 理解了上面的例子来看Django的这个cached_property代码就容易多了。...这里需要注意dict这个东西,调用实例的属性时会先去这里面找,如果没找到就会去父类的dict查找,如果还是没有,则会调用定义的属性,如果这个属性被描述器拦截了,则这个属性的行为就会被重写。

4.3K20
  • 脚本单独使用django的ORM模型详解

    有时候测试django中一些模块时,不想重新跑一整个django项目,只想跑单个文件,正好写在if __name__ == ‘__main__’: 这样也不会打扰到正常的代码逻辑 方法 正常方法 大家都知道的方法就是...’python manage.py shell’,当然我知道这可能不是你需要的; 更好用的方法 脚本import模型前调用下面几行即可: import os, sys BASE_DIR = os.path.dirname...’from XXXX.models import XXX’就不会报错了 补充知识:Django使用外部文件对models操作容易产生的问题 看代码吧!...导入models的时候,还没有django对应的环境下导入 这里导入的顺序很重要 import os import django os.environ.setdefault('DJANGO_SETTINGS_MODULE...以上这篇脚本单独使用django的ORM模型详解就是小编分享给大家的全部内容了,希望能给大家一个参考。

    4.9K10

    FastAPI 和 fastapi-amis-admin:强大而可扩展的后台管理解决方案!

    我们都知道 Django 生态丰富,功能强大,适用于、大型项目,并且自带了后台管理系统;而 FastAPI 更适用于构建高性能的 API,后台管理系统需要另外开发 本篇文章将介绍 FastAPI 结合...fastapi-amis-admin 快速搭建后台管理系统的步骤 fastapi-amis-admin 是一款高性能、高效且易于扩展的 FastAPI 管理框架;它受到 django-admin 的启发...)映射数据库的某张表,定义表名及表字段,配置到后台管理(继承于 ModelAdmin)中去 PS:如果数据库已经存在表,就直接使用;如果不存在,就创建一张新的表 接着,创建一个 FastAPI 应用...,使用 AdminSite 对象进行挂载 最后,初始化事件方法初始化数据库表 from fastapi import FastAPI from sqlmodel import SQLModel from...site.register_admin class CustomAdmin(admin.ModelAdmin): page_schema = '自定义表' model = CustomModel 最后,初始化事件初始化数据库表的同时

    2.6K40

    django 1.8 官方文档翻译:7-2 管理操作

    在这些例子Django管理后台可以让你实现和注册“操作” —— 仅仅只是一个以已选中对象集合为参数的回调函数。 Django自带的管理页面中都能看到这样的例子。...例如,下面是 django.contrib.auth app Django’s创建的用户模型: 警告 “删除所选对象”的操作由于性能因素使用了QuerySet.delete(),这里有个附加说明:它不会调用你模型的...也就是说,异常处理和使用django.contrib.admin.ModelAdmin.message_user()可以响应展示用户友好的问题描述。...你可以使用AdminSite.add_action()让一个操作全局都可以使用。...你可以使用一些方法来禁用操作: 禁用整个站点的操作 AdminSite.

    71320

    hexo 命令速查小册

    前端超牛逼的效果有没有感动到 ~ 这当然不是我自己做的,还要感谢 Jonathan Klughertz 如果认为这篇文章要教如何搭建个人博客,那就让你失望了,因为百度上面相关教程太多太多,我不认为自己写的比其他人更详细更好...搭建博客的过程中使用到了框架 Node.js、HEXO 以及 GitHub 。 下面就经常使用到的 hexo 的命令做一个总结,方便在使用过程快速查阅。..."article name"或者hexo new "article name" 快速部署 hexo clean && hexo g && hexo d 其实上述为 3 个命令,为了节省时间,我经常联合使用...解决办法有很多,我最喜欢的便是利用 GitHub 新建一个放置图片的仓库(当然很多人使用七牛云也很方便)然后文章中使用插入连接的方式插入图片即可: !...你可能需要这份总结 浅谈密码加密 Django框架的英文单词 Django数据库的相关操作 DRF框架的英文单词 DRF框架 Django相关知识点回顾 python技术面试题-腾讯

    51720

    django优雅的实现软删除,支持Admin和DRF的软删除

    何为软删除 当你想对数据进行删除的时候,如果使用物理删除,那么数据真的消失了。使用软删除,可以让数据保留,但是不会被真的删除。只是字段上设置了一个值,表示数据已经被删除。...简而言之: drf找不到删除的数据,admin需要全部数据 drf和admin删除数据都是软删除 解决方案 DRF Django Manager 赋予了 Django的模型(Model)操作数据库的能力...其实你项目中无时不刻不在使用Manager,还记得objects吗?也就是如:Book.objects.all()的objects。有没有想过它到底是什么?...使用DRF操作删除实际上调用的是mixins.DestroyModelMixin的destroy方法,具体执行删除的方法是perform_destroy。...由于我们已经模型层通过Manager直接改变了最初的数据过滤后的样子,这里怎么重写也是无事于补的。 于是我在想,那就在定义一个模型管理器,Admin中使用这个管理器不就好了?

    2.3K40

    DRF系列总结一:DRF是啥?为啥子要用?

    首先,假设阅读这篇文章的同学使用Django或开发过蓝鲸应用,然后,我们先来简单了解下Django REST framework(DRF): 一、什么是Django REST framework(DRF...翻译过来:DRF是一个强大灵活的Django工具包,用于Web后台构建Restful接口 Django下构建Restful接口的工具不止一个(比如Tastypie),但是当下最出名的就是DRF,版本更新速度快...工程,你就能在Django中提供Restful接口了 你可以一个Web页面上浏览自己提供了哪些API,并且可以通过这个页面测试这些API 你不用自己写一套接口鉴权代码了 你不用自己写大量的CRUD接口了...我们可以看两张“糙图”(画的不是很精细): image.png 上面这张图是Django开发业务逻辑涉及最多的内容,设计好db后,urls定义路由,views添加视图函数,并编写业务逻辑,...接下来,我不打算直接介绍DRF的知识点,而是从“安装DRF”开始,蓝鲸应用开发框架的基础上,一步一步地配置好“DRF脚手架”,并在脚手架的基础上,一点点地总结工作中使用DRF的技巧,希望能帮助到一些蓝鲸应用开发同学们

    9.6K114

    关于Django REST framework 的一些笔记

    ---- 这边记录一下几个我自己阅读文件的时候花比较多时间理解的部份: 1 - Serialization - Django REST framework 基本上就是Django 的Model 上再多做一层包装...自己写个框架:即便只有用到DRF的APIView其他都没用到,还是推荐使用DRF,比起你自己用Django撰写的API还是好上许多。...这篇是作者使用DRF 并测试其效能以后自己归纳出的一些结论,基本上是推荐使用DRF,算是我看过最完整对DRF 做效能测试的文章了。...---- 另外,DRF也有设计一些可以拿来做测试的函式,列官方的这篇文章里头:Testing - Django REST framework ---- DRF Docs DRF Docs 主要功能就是可以根据你...· GitHub,所以现在的DRF Docs应该是有正式支援docstring可以写markdown这件事,但这个部份我自己没使用过就是。

    1K30

    Django--admin源码流程

    /', admin.site.urls), ] 以上两个文件都引用的是django.contrib.admin.site的方法,site是AdminSite实例化出来的一个对象,所以site调用的register...方法和urls属性(方法被@property装饰器装饰)是AdminSite这个类定义的 django启动的时候,顺序为:先register,然后urls分配 先看admin.site.register...干了什么 源码AdminSite这个类的构造方法初始化定义了一个空字典 _registry={} ?..._registry[model] = admin_class(model, self) register函数第一个参数是注册的模块名称,第二个参数不传默认是None,但是实际使用的是ModelAdmin...1 admin.site.register(models.UserInfo) # 注册的时候没有传入admin_class,默认使用的是ModelAdmin 会根据下面的代码添加到urlpatterns

    96080

    安装 Django REST Framework

    安装Django REST Framework(以下简称DRF)非常简单。您只需按照以下步骤操作:创建一个新的Django项目或使用现有的Django项目。命令行中使用pip命令安装DRF。...项目的settings.py文件添加DRF到INSTALLED_APPS。cssCopy codeINSTALLED_APPS = [ ......'rest_framework',]这将允许您使用DRF的所有功能。现在您已经安装了DRF,接下来我们将介绍一些基本的用法和示例。创建序列化器序列化器是DRF的一个核心概念。...DRF,我们可以使用Django的URLConf和DRF的路由器来定义路由。...现在,您可以浏览器访问http://localhost:8000/users/,应该能够看到所有用户的JSON格式数据。上面的示例只是DRF的入门示例。

    1.5K20

    Vue+Django2.0 REST framework 打造前后端分离的生鲜电商项目(五)商品列表页

    一、Django2.0的view实现商品列表页 算是对以前django知识的一个回顾,方便跟下面的drfDjango REST framework)实现商品列表页作对比 1.apps/goods下新建...写views apps/goods下新建serializer.py文件(drf的serializer.py等同于django的forms.py) 1 from rest_framework import...name字段(昵称),而drf找的是AbstractUser的username字段(用户名),没找到所以报错 解决方法:将UserProfile表的__str__方法改成返回username: 1...def __str__(self): 2 return self.username 三、drf实现商品列表页的功能 1.ModelSerializer(相当于django的modelform...UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list 28 #的警告提示,使用下面的办法就会消除这种提示了

    4.8K61
    领券