drf 安装_DRF的安装和简单使用

本文详细介绍了如何安装和使用Django REST Framework (DRF)。从安装DRF库开始,接着在settings.py中注册,创建Book模型,定义序列化类,设置ModelViewSet,并在urls.py中配置路由。此外,还对比了DRF与Django原生View及DRF中的APIView的区别和用法。
摘要由CSDN通过智能技术生成

一:DRF安装使用

1.安装

pip3 install djangorestframework

2.在setting.py的app中注册

'rest_framework'

3.在models.py中添加代码

class Book(models.Model):

nid = models.AutoField(primary_key=True)

name = models.CharField(max_length=32)

price = models.DecimalField(max_digits=5, decimal_places=2)

author = models.CharField(max_length=32)

4.新建ser.py序列化类,添加代码

from rest_framework.serializers import ModelSerializer

from app01.models import Book

class BookModelSerializer(ModelSerializer):

class Meta:

model = Book

fields = "__all__"

5.在view.py中添加代码

from rest_framework.viewsets import ModelViewSet

from .models import Book

from .ser import BookModelSerializer

class BooksViewSet(ModelViewSet):

queryset = Book.objects.all()

serializer_class = BookModelSerializer

6.在urls.py中替换如下代码

from django.contrib import admin

from django.urls import path

from app01 import views

from rest_framework.routers import DefaultRouter

router = DefaultRouter() # 可以处理视图的路由器

router.register('book', views.BooksViewSet) # 向路由器中注册视图集

# 将路由器中的所以路由信息追到到django的路由列表中

urlpatterns = [

path('admin/', admin.site.urls),

]

# 这是什么意思?两个列表相加

# router.urls 列表

urlpatterns += router.urls

7.执行数据迁移命令

python manage.py makemigrations

python manage.py maigrate

8.进入127.0.0.1:8000即可看到接口

790733b1f31951ae1f046e0d44085a99.png

9.进入127.0.0.8:8000/book/

0c1f0d5e0a4041551518f77c423bd410.png

10.填入数据,点击按钮提交POST请求,即可添加数据

84fdef705a250f4a7d68234a5180de91.png

二:django原生View

1.在view.py中添加代码

from django.views import View

class Books(View):

# 设置了只能接收get请求

http_method_names = ['get',]

def get(self, request):

print(self.request)

return HttpResponse('OK')

2.在urls.py中添加代码

path('books/', views.Books.as_view()),

3.访问网页127.0.0.1:8000/books

3313891206cd3bc2e561e3e6a99fddcf.png

三:drf中的View

1.在view.py中添加代码

from rest_framework.views import APIView

class BooksAPIView(APIView):

def get(self, request):

# 此时的request已经不是django原生的request了,而是drf自定义的request对象

print(self.request)

return HttpResponse('APIVIew OK')

2.在urls.py中添加代码

path('booksaipview/', views.BooksAPIView.as_view()),

3.访问网页127.0.0.1:8000/booksaipview

58ef30ba7d8066976d4b08d09e0959c8.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值