【DRF】快速入门,使用DjangoRestFrameWork自动生成Restful风格的增删改查代码和接口文档!

简介: ⭐都快2023年了还有人自己写增删改查代码?!?我不允许还不会有人用DRF!⭐今天教大家使用 Django Rest FrameWork 自动生成Restful风格的增删改查代码和接口文档!

DRF快速入门

⭐都快2023年了还有人自己写增删改查代码?!?我不允许还不会有人用DRF!

⭐今天教大家使用 Django Rest FrameWork 自动生成Restful风格的增删改查代码和接口文档!

⭐参考文章:首页 - Django REST 框架 (django-rest-framework.org)(官方文档)

安装依赖

安装

Rest FrameWork 需要满足以下条件:

  • Python (3.6, 3.7, 3.8, 3.9, 3.10)
  • Django (2.2, 3.0, 3.1, 3.2, 4.0, 4.1)
# 安装Django
pip install django
# 安装DRF
pip install djangorestframework
# 安装自动生成接口文档需要的依赖
pip install coreapi

设置

  • 以下内容在项目中 seeting.py 配置
INSTALLED_APPS = [
    ...
    'rest_framework', # 注册app
    'myapp', # 记得注册自己的app
]

# 数据库记得自行配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '***',
        'USER': '***',
        'PASSWORD': '***',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

快速使用

配置models

  • 以下内容在 app 中的 models.py 配置
from django.db import models
class Student(models.Model):
    # 模型字段
    name = models.CharField(max_length=100, verbose_name="姓名")
    sex = models.BooleanField(default=1, verbose_name="性别")
    age = models.IntegerField(verbose_name="年龄")
    class_null = models.CharField(max_length=5, verbose_name="班级编号")
    description = models.TextField(max_length=1000, verbose_name="个性签名")

    class Meta:
        # 表名称
        db_table = "tb_student"
        # 表详细名称
        verbose_name_plural = "学生"
  • 配置好models记得迁移数据库
python manage.py makemigrations
python manage.py migrate

配置serializers

  • 以下内容在app中新建 serializers.py 目录
from rest_framework import serializers
from app.models import Student

# 创建序列化器类,回头会在试图中被调用
class StudentModelSerializer(serializers.ModelSerializer):
    class Meta:
        # 导入对应models
        model = Student
        # 选择生成对应models全部的字段
        fields = "__all__"
        # 可选择操作的字段
        # fields = ['name', 'sex']

配置view

  • 以下内容在app中 views.py 配置
from rest_framework.viewsets import ModelViewSet
from .models import Student
from .serializers import StudentModelSerializer

# 生成代码 配置一个类即可
class StudentViewSet(ModelViewSet):
    queryset = Student.objects.all()
    serializer_class = StudentModelSerializer

配置url

  • 以下内容在app目录下 urls.py 配置
from django.urls import path
from . import views
from rest_framework.routers import DefaultRouter
from rest_framework.documentation import include_docs_urls

# 路由列表
urlpatterns = [
    # 配置api文档路由 title配置API文档的标题
    path('docs/', include_docs_urls(title='API document')),
]

router = DefaultRouter()  # 可以处理视图的路由器
router.register('students', views.StudentViewSet)  # 向路由器中注册视图集

urlpatterns += router.urls  # 将路由器中的所以路由信息追到到django的路由列表中
  • 以下内容在项目目录下 urls.py 配置
from django.contrib import admin
from django.urls import path, include
from app import urls

urlpatterns = [
    path('admin/', admin.site.urls),
    path('stu/', include(urls)),
]

配置seetings

  • 以下内容在项目目录下 seetings.py 配置
# 配置默认API文档
REST_FRAMEWORK = {
    # coreapi接口文档
    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema',
}

启动项目

# 直接启动项目就可用访问啦
python manage.py runserver

页面预览:

  • 接口文档

    image-20221207224034322

  • api管理页面

    image-20221207224128557

⭐以上就是一些基础的配置内容啦!基础的CURD代码已经生成完毕!

⭐当然DRF还可以配置的东西非常多 JWT,分页... (之后的文章会介绍到)

⭐以上内容只是快速的配置 全面API请查阅官方文档:首页 - Django REST 框架 (django-rest-framework.org)

⭐如果对你有帮助请给我点个赞吧

相关文章
|
6月前
|
XML 物联网 API
服务端和客户端 RESTful 接口上传 Excel 的 Python 代码
本文作者木头左是物联网工程师,分享如何使用 Python 和 Flask-RESTful 构建一个简单的 RESTful API,实现文件上传功能,特别支持Excel文件。通过安装Flask和Flask-RESTful库,创建Flask应用,实现文件上传接口,并将其添加到API。该方法具有简单易用、灵活、可扩展及社区支持等优点。
服务端和客户端 RESTful 接口上传 Excel 的 Python 代码
|
2月前
|
存储 数据库连接 API
构建RESTful API:使用FastAPI实现高效的增删改查操作
构建RESTful API:使用FastAPI实现高效的增删改查操作
78 0
|
4月前
|
XML JSON 数据库
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
这篇文章详细介绍了RESTful的概念、实现方式,以及如何在SpringMVC中使用HiddenHttpMethodFilter来处理PUT和DELETE请求,并通过具体代码案例分析了RESTful的使用。
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
|
4月前
|
前端开发 应用服务中间件 数据库
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
这篇文章通过一个具体的项目案例,详细讲解了如何使用SpringMVC、Thymeleaf、Bootstrap以及RESTful风格接口来实现员工信息的增删改查功能。文章提供了项目结构、配置文件、控制器、数据访问对象、实体类和前端页面的完整源码,并展示了实现效果的截图。项目的目的是锻炼使用RESTful风格的接口开发,虽然数据是假数据并未连接数据库,但提供了一个很好的实践机会。文章最后强调了这一章节主要是为了练习RESTful,其他方面暂不考虑。
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
|
7月前
|
NoSQL Java API
java一行代码实现RESTFul接口
Spring Data REST是构建在Spring Data之上的库,可自动将repository转换为REST服务,支持JPA、MongoDB、Neo4j、GemFire和Cassandra。无需手动创建Service和Controller层。要开始,需配置JPA数据源,创建实体类和Repository接口。快速实现REST接口,只需引入spring-boot-starter-data-rest Maven依赖,并在Repository接口上添加@RepositoryRestResource注解。
75 0
|
7月前
|
XML JSON 数据库
SpringMVC之RESTful(含实际代码操作)
SpringMVC之RESTful(含实际代码操作)
|
XML JSON 前端开发
Spring MVC RESTful风格详解(1)
简介: 你好看官,里面请!今天笔者讲的是Spring MVC框架RESTful风格(1)[会继续连载] 不懂可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途.
341 3
Spring MVC RESTful风格详解(1)
|
API 开发者
Yii2如何使用RESTful API?具体步骤是怎样的?写出实例代码
Yii2如何使用RESTful API?具体步骤是怎样的?写出实例代码
120 0
|
JSON 前端开发 Java
Restful风格的编程
Restful风格的编程
249 0
Restful风格的编程
|
存储 JSON Java
java小技能:Swagger (RESTful 风格的 Web 服务框架)
后端修改了接口,需要手动维护api文档,加大了开发的工作量和困难,而swagger的出现就是为了解决这一系列的问题。
208 0
java小技能:Swagger (RESTful 风格的 Web 服务框架)