前置条件:
django 与Django REST framework 已安装
可以通过指令 pip3 list
查看是否安装
安装指令:
* pip install django
* pip install djangorestframework
搭建步骤:
- 创建项目
django-admin startproject mysite
- 创建应用
python3 manage.py startapp webApi
- 项目
settings.py
配置引入 Django REST framework 以及 webApi应用
INSTALLED_APPS = [
'webApi.apps.WebapiConfig', # 引入应用
'rest_framework', #引入Django REST framework
]
- webApi应用 创建view
(1) 应用 models.py 创建表模型
class Good(models.Model):
def __str__(self):
return self.title
title = models.CharField(max_length=200)
sub_title = models.CharField(max_length=200)
price = models.FloatField(default=0.00)
store_id = models.IntegerField(default=0)
desc = models.CharField(max_length=200)
count = models.IntegerField(default=0)
sale_count = models.IntegerField(default=0)
create_time = models.DateTimeField(default=datetime.datetime.now())
create_name = models.CharField(max_length=20)
update_time = models.DateTimeField(default=datetime.datetime.now())
update_name = models.CharField(max_length=20)
is_delete = models.IntegerField(default=0) # 逻辑删除 0 正常 1:删除
(2)生成迁移文件
python3 manage.py makemigrations
(3)应用数据库迁移
python3 manage.py migrate
(4)webApi 应用 新建序列化文件 serializers.py
(5)针对(1)中模型生成序列化方法
from rest_framework import serializers
from webApi.models import Good
class GoodSerializer(serializers.ModelSerializer):
class Meta:
# 对Good进行序列化
model = Good
# __all__表示对 Good 中所有字段序列化进行序列化
fields = '__all__'
fields可指定具体字段进行序列话
fields = ('id', 'title', 'sub_title', 'price', 'count')
(6)webApi应用 views.py
创建 视图
from django.shortcuts import render
from rest_framework import viewsets
from webApi.models import Good
from webApi.serializers import GoodSerializer
class GoodViewSet(viewsets.ModelViewSet):
queryset = Good.objects.all() #获取数据列表
# 对模型进行序列化
serializer_class = GoodSerializer
(7)项目配置文件注册路由
from webApi.views import GoodViewSet
from django.contrib import admin
from django.urls import include, path
from rest_framework import routers
router = routers.DefaultRouter() # 创建路由器
router.register(r'good', GoodViewSet) # 在路由器中注册视图集路由地址
urlpatterns = [
path('api/', include(router.urls)),
]
接口操作步骤:
- 按(7)项目路由注册的名称输入url
http://127.0.0.1:8000/api/
界面如下:
2.点击 "good": "http://127.0.0.1:8000/api/good/"
接口链接查看接口
3.输入字段值点post ,post方式新增一条数据
4.点击get按钮查询数据:
5.链接后拼接id查询指定id记录
http://127.0.0.1:8000/api/good/5/
6.点击put按钮更新记录
7.点击delete按钮删除记录
自始至终操作的都是 http://127.0.0.1:8000/api/good/
这个路径的接口,根据参数以及请求方式不同实现不同逻辑