【Django DRF开发】一、搭建开发环境

一、DRF介绍

DRF即Django REST Framework的缩写,是Django框架中实现Restful API的一个插件,使用他可以非常方便的实现接口数据的返回。简单来说:通过DRF创建API后,就可以通过HTTP请求来获取、创建、更新或者删除数据(CRUD)

使用DRF原因:

  1. 可以自动生成API文档,在前后端分离开发的时候进行沟通比较有用。
  2. 授权验证策略比较完整,包含OAuth1OAuth2验证。
  3. 支持ORM模型和非ORM数据的序列化。
  4. 高度封装了视图,使得返回json数据更加的高效。

二、环境搭建

1、在编译器终端,创建项目虚拟环境drflearn并激活该环境:

python -m venv drflearn  # 创建虚拟环境drflearn

.\drflearn\Scripts\activate  # 激活虚拟环境,注意:当前为window端虚拟环境激活方式

 2、通过命令安装DRF环境

pip install djangorestframework

3、使用命令创建Django项目drf_project,项目目录如下

django-admin startproject drf_project 

 

4、在settings中挂载rest_framework

INSTALLED_APPS = [
    "...",
    "rest_framework",
]

三、简单体验DRF序列化

1、创建应用serializer_learn

cd .\drf_project\

python manage.py startapp serializer_learn

 生成目录如下:

 

在settings中挂载该应用

INSTALLED_APPS = [
    "...",
    "rest_framework",
    "serializer_learn",
]

2、在models.py中创建简单模型

from django.db import models

# Create your models here.

class Goods(models.Model):
    name = models.CharField(max_length=200,verbose_name='商品名称')
    picture = models.CharField(max_length=200,verbose_name='商品图片')
    price = models.DecimalField(verbose_name='商品价格',max_digits=6,decimal_places=2)
    class Meta:
        db_table = 'goods'
        verbose_name = '商品管理'
        verbose_name_plural = '商品管理'

    def __str__(self):
        return self.name

在admin.py中注册该模型

from django.contrib import admin
from .models import Goods
# Register your models here.

admin.site.register(Goods)

执行数据库迁移

python manage.py makemigrations

python manage.py migrate

3、在应用目录下创建serializers.py文件 

from rest_framework import serializers
from .models import Goods

class GoodsSerializer(serializers.ModelSerializer):
    class Meta:
        model = Goods
        fields = "__all__"

修改views.py

from rest_framework import viewsets
from .models import Goods
from .serializers import GoodsSerializer

# 这个视图函数已经包含了增删改检索
class GoodsView(viewsets.ModelViewSet):
    queryset = Goods.objects.all()
    serializer_class = GoodsSerializer

在应用目录下,新建urls.py 配置路由

from rest_framework.routers import DefaultRouter
from .views import GoodsView

router = DefaultRouter()
router.register('good',GoodsView)

urlpatterns = [
    
]+router.urls

在根目录下配置上述路由

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

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

4、为Goods模型添加数据

执行命令生成超级用户

 python manage.py createsuperuser 

执行命令运行django程序

python manage.py runserver 

访问http://127.0.0.1:8000/admin/ 登录超级用户

访问127.0.0.1:8000/serializergood/可查看序列化后的数据,会将模型序列化成JSON格式的对象,使用Postman可实现对数据的增删改查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值