首先先介绍一下DRF概念:
Django REST framework(简称DRF)是一个强大灵活的 Python 工具包,用于在 Django 中构建 Web API。它提供了一套工具和库,帮助开发人员为他们的 Django Web 应用程序创建 API。使用 Django REST framework,开发人员可以轻松地序列化/反序列化数据,处理身份验证、权限和版本控制,并创建可浏览的 API。
第一步:在您创建的 Django 项目的 settings.py 文件中,将 ‘rest_framework’ 添加到 INSTALLED_APPS 列表中:
先创建Django 项目
django-admin startproject myproject
第二步:创建一个应用程序app。
python manage.py startapp data_capture
我们将创建一个简单的模型,并为该模型创建一个 API。
from django.db import models
class WeiboHotSearch(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=100)
play = models.IntegerField()
url = models.URLField()
def __str__(self):
return self.title
创建序列化器 在 myapp
目录下创建一个新文件 serializers.py
并创建一个 MessageSerializer
:
# 在 myapp/serializers.py 中定义序列化器
from rest_framework import serializers
from .models import WeiboHotSearch
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = WeiboHotSearch
fields = '__all__' # 或者指定需要序列化的字段
创建视图
# 在 views.py 中定义视图
from rest_framework import viewsets
from .models import WeiboHotSearch
from .serializers import MyModelSerializer
class MyModelListCreate(viewsets.ModelViewSet):
queryset = WeiboHotSearch.objects.all()
serializer_class = MyModelSerializer
创建路由
# 在 urls.py 中定义 API 路由
from django.urls import path
from rest_framework.routers import SimpleRouter
from .views import MyModelListCreate
router = SimpleRouter()
router.register('messages', MyModelListCreate, basename='messages')
urlpatterns = router.urls
在项目的 URL 配置中包含应用程序 URL 在 my_django_project/urls.py
中,将 data_capture.urls
添加到 urlpatterns
:
应用数据库迁移
python manage.py makemigrations
python manage.py migrate
启动开发服务器
python manage.py runserver