• 创建一个DjangRestFramework应用


    1. 创建一个Django项目,最终项目结构如下:

    screenshot_1.png

    1. 安装djangorestframework
    pip install djangorestframework
    
    1. 应用目录App下urls.py设计
    # -*-coding:utf-8-*-
    from rest_framework.routers import DefaultRouter
    
    from App import views
    
    router = DefaultRouter()
    router.register(r'api/students', views.StudentViewSet)
    
    1. 项目目录DEFBlog下配置djangorestframework
    • 4.1 配置settings.py, 将'rest_framework'加入到INSTALLED_APPS
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'App.apps.AppConfig',
        'rest_framework',
    ]
    
    • 4.2 配置urls.py
    from django.contrib import admin
    from django.urls import path, include
    
    from App.urls import router
    
    urlpatterns = [
        path('', include(router.urls)),
        # path('admin/', admin.sitsse.urls),
    ]
    
    1. 应用目录App下,models.py设计
    from django.db import models
    
    
    class Student(models.Model):
        name = models.CharField(max_length=32)
    
    1. 应用目录App下, serializers.py设计
    # -*-coding:utf-8-*-
    from rest_framework import serializers
    
    from App.models import Student
    
    
    class StudentSerializer(serializers.ModelSerializer):
        class Meta:
            model = Student
            fields = '__all__'
    
    1. 应用目录App下, views.py
    # -*-coding:utf-8-*-
    from rest_framework.viewsets import ModelViewSet
    
    from App.models import Student
    from App.serializers import StudentSerializer
    
    
    class StudentViewSet(ModelViewSet):
        queryset = Student.objects.all()
        serializer_class = StudentSerializer
    
    1. postman调用效果如下:

    screenshot_1.png

  • 相关阅读:
    第一阶段-坑爹猴
    终于做出来了
    一天就制作成了这些
    累成狗做出来的
    一周的学习,组合起来的成就
    刚刚出炉的搜狗浏览器最新版本
    自己动手设计了一下下百度首页
    数论:卢卡斯定理(求组合数)
    数据结构:ST表模板(可维护区间RMQ)
    快读和快写(可以使用__int128)
  • 原文地址:https://www.cnblogs.com/iread9527/p/12832855.html
Copyright © 2020-2023  润新知