首页 > 其他分享 >Django DRF安装设置 序列化器ModelSerializer 视图ModelViewSet 路由url 串讲

Django DRF安装设置 序列化器ModelSerializer 视图ModelViewSet 路由url 串讲

时间:2024-07-25 11:40:34浏览次数:11  
标签:... 串讲 py rest framework 视图 import 序列化 DRF

在 Django REST Framework (DRF) 中,重新编写 API 视图通常涉及几个步骤。以下是一个简单的示例,展示如何定义和注册视图集、序列化器和路由,以便你可以创建、读取、更新和删除(CRUD)数据。

1. 定义序列化器

# serializers.py
from rest_framework import serializers
from .models import FW002HModel

class FW002HSerializer(serializers.ModelSerializer):
    class Meta:
        model = FW002HModel
        fields = '__all__'  # 或者列出你想要的字段,例如: ['fw_list', 'fw_date', ...]

 

2. 定义视图集

# views.py
from rest_framework import viewsets
from .models import FW002HModel
from .serializers import FW002HSerializer

class FW002HViewSet(viewsets.ModelViewSet):
    queryset = FW002HModel.objects.all()
    serializer_class = FW002HSerializer

 

3. 配置路由

# urls.py
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import FW002HViewSet

router = DefaultRouter()
router.register(r'fw002h', FW002HViewSet)

urlpatterns = [
    path('', include(router.urls)),
]

 

4. 配置 DRF 设置(可选)

settings.py 中,确保你的 INSTALLED_APPS 包含 'rest_framework',并根据需要配置其他设置,例如分页和权限。

# settings.py
INSTALLED_APPS = [
    ...
    'rest_framework',
    ...
]

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny',
    ],
    'DEFAULT_PARSER_CLASSES': [
        'rest_framework.parsers.JSONParser',
        'rest_framework.parsers.FormParser',
        'rest_framework.parsers.MultiPartParser',
    ],
    'DEFAULT_RENDERER_CLASSES': [
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
    ],
}

 

5. 运行服务器

确保你的服务器运行起来并能正确处理请求。

python manage.py runserver

 

如果你需要重新安装 Django REST Framework (DRF),可以按照以下步骤操作:

1. 卸载现有版本

首先,确保卸载任何现有版本的 DRF:

pip uninstall djangorestframework

 

2. 安装最新版本

然后,安装最新版本的 DRF:

pip install djangorestframework

 

3. 确保在 settings.py 中配置 DRF

安装完成后,确保你的 Django 项目 settings.py 中包含了 rest_framework 应用:

INSTALLED_APPS = [
    ...
    'rest_framework',
    ...
]

 

4. 确认 DRF 版本(可选)

你可以通过以下命令确认 DRF 的安装版本:

python -m pip show djangorestframework

 

5. 迁移数据库(如有需要)

如果 DRF 更新涉及数据库模型更改,运行数据库迁移命令:

python manage.py makemigrations
python manage.py migrate

 

标签:...,串讲,py,rest,framework,视图,import,序列化,DRF
From: https://www.cnblogs.com/beichengshiqiao/p/18322662

相关文章

  • 自定义菜单未显示在 odoo 门户视图上
    我想在odoo门户视图上显示自定义菜单。XML文件:<?xmlversion="1.0"encoding="UTF-8"?><odoo><data><templateid="portal_my_home_loan"name="PartnerLoan"customize_show="True"inh......
  • DRF入门规范,API接口,接口测试工具,restful规范,序列化和反序列化,drf安装和快速使用
    ⅠDRF入门规范【一】Web应用模式在开发Web应用中,有两种应用模式:【1】前后端不分离【2】前后端分离【3】前后端开发模式#1前后端混合开发-不少公司在用-flask混合-django混合-例如最简单的bbs项目-模板:dtl语法:djangotemplatelanguage模板语......
  • kotlin,Android教你最基础的ViewBinding视图绑定
    目录一.添加依赖二.在Activity中使用ViewBinding修改布局文件修改kt文件 效果三.在Fragment中使用ViewBinding修改布局文件修改kt文件效果不玩虚的,就三分钟,看完就能学会最基础的ViewBinding如何使用使用ViewBinding有什么好处呢与使用findViewById相比,视图绑......
  • Django 序列化程序无法将查询集序列化为 JSON
    尝试简单的Django序列化器。我使用具有特定值的queryset然后我将queryset或queryset.values()传递给序列化器。为什么会出现500错误?@csrf_protectdefgeoLookup(request,**kwargs):country=kwargs.get('Country')city=kwargs.get('Place'......
  • jackson序列化(jackson codec)
    Jackson是一个用于Java平台的开源JSON库,它提供了灵活且高效的方式来处理JSON数据的序列化(Java对象→JSON字符串)和反序列化(JSON字符串→Java对象)。以下是Jackson的一些主要特点和功能:高性能:Jackson通过使用基于流的处理模型和性能优化技术,提供了出色的性能。它支......
  • Django视图与URLs路由详解
            在DjangoWeb框架中,视图(Views)和URLs路由(URLrouting)是Web应用开发的核心概念。它们共同负责将用户的请求映射到相应的Python函数,并返回适当的响应。本篇博客将深入探讨Django的视图和URLs路由系统,提供实际的代码示例和操作指导,确保读者能够具体而实际地了解如......
  • 无法序列化 HighLevelGraph 类型的对象
    我编写的代码如下,importdask.arrayasdafromdistributedimportClientremote_server='localhost:8786'client=Client(remote_server)rows,cols=4123,4123chunk_rows,chunk_cols=1024,1024matrix1=da.random.random(size=(rows,cols),chun......
  • 12 B端产品常用视图
    原型图        是产品经理最熟悉,也是最常用的,是产品表现层面的Demo,描绘产品的界面长什么样,功能如何设计、摆放,有哪些内容。结构图        展示产品的基本结构、框架,它能清晰展示产品有哪些模块、功能或系统组成。用例图        站在用户的叫做......
  • Gson的基本使用:解析Json格式数据 序列化与反序列化
    目录一,Gson和Json1,Gson2,Json3,Gson处理对象的几个重要点4,序列化和反序列化二,Gson的使用1,Gson的创建2,简单对象序列化3,对象序列化,格式化输出日期4,嵌套对象序列化5,对象数组序列化6,对象集合序列化一,Gson和Json1,Gson        Gson是Google发布的一个Java库,可......
  • 为什么将小部件添加到滚动视图在 python kivy 中不起作用
    Python文件fromkivymd.appimportMDAppfromkivy.langimportBuilderfromkivy.uix.floatlayoutimportFloatLayoutfromkivy.core.windowimportWindowfromkivy.configimportConfigfromkivymd.uix.listimportOneLineListItem#UkuranwindowConfig.set(&......