python drf框架的使用


1. 安裝 ↓

pip install djangorestframework

2. 在Django項目中使用DRF框架進行開發時,需要將rest_framework在setting.py中INSTALLED_APPS中進行注冊。

INSTALLED_APPS = [

    'rest_framework',
]
setting.py

3. 大路由配置

from django.urls import path,include

urlpatterns = [
    path('app01/',include('app01.urls')),    # 新建app01
]
untitled/urls.py

4. 新建app01在setting.py中的配置:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
    'app02.apps.App02Config',
    'corsheaders',
    'rest_framework',
]
untitled/setting.py

5. 小路由配置

from django.urls import path
from . import views

urlpatterns = [
    path('getcls/',views.Get_cls_add_good.as_view()),
]
app01/urls.py

6. 序列化器:

在新建app01中創建serializres.py,造作如下:

from rest_framework import serializers
from app01.models import Info

class InfoSerializer(serializers.ModelSerializer):
    class Meta:
        model=Info      #   models.py中導入的模型
        #  把所有字段都要跟序列化器交互
        fields='__all__'
        #  指定字段跟序列化器交互
        #  fields=("id","name")
serializres.py

7. 序列化器的使用

from rest_framework.views import APIView
from rest_framework.response import Response
from app01.serializres import InfoSerializer
from app01.models import Info

class InfoView(APIView):     # 繼承APIView
    def get(self,request):
        #  獲取方式不同,
        #  request.data
        data=request.query_params  # 或取get請求
        try:
            user =Info.objects.all()
            serlia=InfoSerializer(user,many=True)
            data=serlia.data
            return Response(status=200,data={"code":200,"data":data})
        except Exception as e:
            return Response(status=200,data={"code":500})

    def post(self,request):
        data=request.data
        users=InfoSerializer(data=data)
        users.is_valid()     # 判斷傳來數據類型是否和數據表中一致
        users.save()      # 獲取的數據保存到數據庫
        return Response(status=200,data={"code:200"})
View.py

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM