[DRF]入门-2

创建virtual环境 创建app


mkdir drf_learn
cd drf_learn
virtualenv venv
source venv/bin/activate
pip list
pip install --upgrade pip
pip install django
pip install djangorestframework
pip install -U black
pip list
django-admin startproject mysite .
python manage.py startapp mydrf


引入restframework和app

在这里插入图片描述

创建model


class Book(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    title = models.CharField(max_length=100, blank=True, default="")
    code = models.TextField()
    linenos = models.BooleanField(default=False)

    class Meta:
        ordering = ["created"]

python manage.py makemigrations mydrf
python manage.py migrate
python manage.py runserver

在这里插入图片描述

修改settings.py 文件

REST_FRAMEWORK = {
    
    
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10
}

在这里插入图片描述

创建序列化类

# serializers.py
from rest_framework import serializers

from mydrf.models import Book


class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = "__all__"

创建viewsets

from rest_framework import viewsets

from mydrf.models import Book
from mydrf.serializers import BookSerializer

# Create your views here.


class BookViewSets(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

在这里插入图片描述

创建路由

from django.contrib import admin
from django.urls import include, path
from mydrf import views
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r"books", views.BookViewSets, basename="books")


urlpatterns = [
    path("admin/", admin.site.urls),
    path("", include(router.urls)),
]

在这里插入图片描述

测试成功的截图

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/JianShengShuaiest/article/details/126396147
DRF
今日推荐