首页 > 其他分享 >基于drf快速创建api

基于drf快速创建api

时间:2022-08-28 20:11:45浏览次数:52  
标签:py models 创建 polls django api urls import drf

1.安装项目依赖

pip install django
pip install djangorestframework

  

2.创建django项目

django-admin startproject mysite

 

3.创建app

python manage.py startapp polls

  

4.创建model

from django.db import models


class Book(models.Model):
    name = models.CharField(max_length=200)
    author = models.CharField(max_length=20)
    pub_date = models.DateTimeField('date published')

  

5.创建序列化类

from rest_framework import serializers

from polls.models import Book


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

  

  

6.创建视图

 

from rest_framework.viewsets import ModelViewSet

from polls.models import Book
from polls.serializers import BookModelSerializer


class BookViewSet(ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookModelSerializer

  

7.添加路由

polls/urls.py

from rest_framework.routers import DefaultRouter

from polls import views

router = DefaultRouter()
router.register("book", views.BookViewSet, basename="book")

urlpatterns = [

              ] + router.urls

mysite/mysqite/urls.py

from django.contrib import admin
from django.urls import path, include

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

8. 数据迁移

python manage.py makemigrate
python manage.py migrate

9.启动项目

python manage.py runserver

  

标签:py,models,创建,polls,django,api,urls,import,drf
From: https://www.cnblogs.com/navysummer/p/16633517.html

相关文章

  • Drf-APIView
    1、背景:   继承于django原生的view,在实现的as_view方法中对原生的view做了加强,另外APIView的 request是基于django的Request做了加强,不在是原生的request,这一步......
  • 数据建模,创建不同表之间的关系
    数据建模,原始数据信息如下:  举例1:在表关系中,点击上方关系组中的管理关系选项,删除原来已经存在的关系,点击左下方的新建,病例表属于事实表(多),日期表属于维度表(少),因为病例表......
  • web应用模式和api接口
    web应用模式:前后端不分离(客户端看到的内容和所有界面效果都是由服务端提供出来的)  2.前后端分离(把前端的界面效果(html,css,js分离到另一个服务端,python服务......
  • Drf视图集合
    1.背景:    技术储备,drf适合前后端分离项目,比较适合单表操作的业务,另外丰富的视图集合配合路由自动生成,开发速度能得到极大的提升。 2、视图分类:   ......
  • 手把手教你创建专属个人助理,GitHub免费的
    今天推荐的这个项目是「BotBay」,致力于创建专属的拟人机器人。理想中它可以接入不同的平台【微信、5G】,作为每一人完成日常工作生活专属助理,你可以给它起一个名字,这样就可......
  • .Net 7中新增的限速API
    .NET7 内置了速率限制(RateLimiting)功能,速率限制指的是限制可访问资源的请求数。例如数据库每分钟可以安全处理1000个请求,再多不确定会不会崩。这时就可以在应用程序......
  • ArcGIS API forJavaScript4.x去除地图获取焦点的黑色边框
    ArcGISAPIforJavaScript4.x去除地图获取焦点的黑色边框CSS/*去掉地图聚焦边框*/.esri-view-surface--inset-outline:focus::after{outline:none!important......
  • [转] 超高效!Swagger-Yapi的秘密
     原文:https://juejin.cn/post/7116729520681549854 导读:相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致......
  • 支付插件-使用 woocommerce_api_(action) Action 钩子添加自定义 URL 到WooCommerce
    WooCommerce的woocommerce_api_(action) Action钩子可以让插件添加一个自定义回调到一个URL上面,当这个URL被访问的时候,自定义回调中的函数或方法就会执行,这个API......
  • 【转】YApi结合swag管理和生成go项目restful API文档
     原文:https://blog.csdn.net/tuobicui6522/article/details/102980653 swag命令安装: goinstallgithub.com/swaggo/swag/cmd/swag@latest swag命令对应的githu......