当前位置: 首页 > news >正文

手机管理软件重庆seo怎么样

手机管理软件,重庆seo怎么样,24小时客服在线咨询,wordpress别名404使用Django REST framework构建RESTful API Django REST framework简介 安装Django REST framework 创建Django项目 创建Django应用 配置Django项目 创建模型 迁移数据库 创建序列化器 创建视图 配置URL 配置全局URL 配置认证和权限 测试API 使用Postman测试API 分页 过滤和排序…

使用Django REST framework构建RESTful API

      • Django REST framework简介
      • 安装Django REST framework
      • 创建Django项目
      • 创建Django应用
      • 配置Django项目
      • 创建模型
      • 迁移数据库
      • 创建序列化器
      • 创建视图
      • 配置URL
      • 配置全局URL
      • 配置认证和权限
      • 测试API
      • 使用Postman测试API
      • 分页
      • 过滤和排序
      • 自定义视图
      • 异常处理
      • 文档
      • 总结

Django REST framework (DRF) 是一个功能强大的工具包,用于构建Web API。它与Django框架无缝集成,提供了许多开箱即用的功能,如序列化、认证、权限、分页和视图等。本文将详细介绍如何使用Django REST framework构建RESTful API。

Django REST framework简介

Django REST framework 是一个用于构建Web API的框架,它旨在使构建API变得简单和快速。DRF提供了许多强大的功能,如自动化的API浏览界面、序列化器、视图集、路由等。

安装Django REST framework

首先,需要安装Django和Django REST framework。

pip install django djangorestframework

创建Django项目

使用Django创建一个新的项目。

django-admin startproject myproject
cd myproject

创建Django应用

在项目中创建一个新的应用。

python manage.py startapp myapp

配置Django项目

在项目的 settings.py文件中,添加 rest_framework和新创建的应用到 INSTALLED_APPS列表中。

INSTALLED_APPS = [# ...'rest_framework','myapp',
]

创建模型

models.py文件中定义一个简单的模型。

from django.db import modelsclass Book(models.Model):title = models.CharField(max_length=100)author = models.CharField(max_length=100)published_date = models.DateField()price = models.DecimalField(max_digits=5, decimal_places=2)def __str__(self):return self.title

迁移数据库

运行迁移命令以创建数据库表。

python manage.py makemigrations
python manage.py migrate

创建序列化器

serializers.py文件中创建一个序列化器。

from rest_framework import serializers
from .models import Bookclass BookSerializer(serializers.ModelSerializer):class Meta:model = Bookfields = ['id', 'title', 'author', 'published_date', 'price']

创建视图

views.py文件中创建视图。

from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializerclass BookViewSet(viewsets.ModelViewSet):queryset = Book.objects.all()serializer_class = BookSerializer

配置URL

urls.py文件中配置URL路由。

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import BookViewSetrouter = DefaultRouter()
router.register(r'books', BookViewSet)urlpatterns = [path('', include(router.urls)),
]

配置全局URL

在项目的 urls.py文件中包含应用的URL配置。

from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('api/', include('myapp.urls')),
]

配置认证和权限

settings.py文件中配置认证和权限。

REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework.authentication.SessionAuthentication','rest_framework.authentication.BasicAuthentication',],'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated',],
}

测试API

启动Django开发服务器,访问API。

python manage.py runserver

打开浏览器,访问http://127.0.0.1:8000/api/books/,可以看到API的浏览界面。
Django REST framework API浏览界面示例

使用Postman测试API

可以使用Postman等工具来测试API的各个端点。

分页

settings.py文件中配置分页。

REST_FRAMEWORK = {'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination','PAGE_SIZE': 10
}

过滤和排序

views.py文件中配置过滤和排序。

from rest_framework import filtersclass BookViewSet(viewsets.ModelViewSet):queryset = Book.objects.all()serializer_class = BookSerializerfilter_backends = [filters.SearchFilter, filters.OrderingFilter]search_fields = ['title', 'author']ordering_fields = ['published_date', 'price']

自定义视图

可以创建自定义视图来处理特定的业务逻辑。

from rest_framework.decorators import api_view
from rest_framework.response import Response@api_view(['GET'])
def book_list(request):books = Book.objects.all()serializer = BookSerializer(books, many=True)return Response(serializer.data)

异常处理

views.py文件中配置异常处理。

from rest_framework.exceptions import NotFoundclass BookViewSet(viewsets.ModelViewSet):queryset = Book.objects.all()serializer_class = BookSerializerdef retrieve(self, request, *args, **kwargs):try:return super().retrieve(request, *args, **kwargs)except Http404:raise NotFound(detail='Book not found')

文档

可以使用Swagger或Redoc等工具生成API文档。

pip install drf-yasg

urls.py文件中配置Swagger。

from django.urls import path, include
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapischema_view = get_schema_view(openapi.Info(title='My API',default_version='v1',description='Test description',terms_of_service='https://www.google.com/policies/terms/',contact=openapi.Contact(email='contact@myapi.local'),license=openapi.License(name='BSD License'),),public=True,permission_classes=(permissions.AllowAny,),
)urlpatterns = [path('admin/', admin.site.urls),path('api/', include('myapp.urls')),path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]

总结

通过本文,你已经学习了如何使用Django REST framework构建RESTful API。我们介绍了Django REST framework的基本概念、安装方法、创建Django项目和应用、定义模型、创建序列化器、创建视图、配置URL、配置认证和权限、测试API、使用Postman测试API、分页、过滤和排序、自定义视图、异常处理、生成API文档等内容。掌握了这些知识,将有助于你在实际工作中更好地利用Django REST framework来构建高效、可靠的Web API。
使用Postman测试Django REST framework API示例

使用Django REST framework可以显著简化RESTful API的开发过程。

http://www.hkea.cn/news/304803/

相关文章:

  • 用wordpress制作网站模板沈阳seo
  • 优化一个网站多少钱宜昌网站seo
  • 刚做的网站怎么才能搜索到枸橼酸西地那非片功效效及作用
  • 罗湖区网站公司专业模板建站
  • 哪有备案好的网站国产系统2345
  • 网站开发怎么让别人看到最新营销模式有哪些
  • ssm网站开发源码百度推广多少钱一个月
  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销
  • 北京手机网站建设公司排名技术优化seo
  • wordpress可爱的主题seo优化教程
  • 自己可以申请网站做外卖吗网站描述和关键词怎么写
  • 公司网站网页设计seo站长工具推广平台
  • 重庆南岸营销型网站建设公司哪家专业真实的网站制作
  • 郑州企业网站建设兼职推广渠道
  • 网站哪些数据优化大师的作用
  • 政府网站集约化建设总结营销软文推广平台
  • 学网站开发跟那个专业最相近百度站长平台注册
  • 网站开发python电脑培训班有哪些科目
  • 惠州响应式网站哪家好云盘搜索
  • spring做网站合肥seo排名收费
  • 做58网站怎么赚钱二十个优化
  • 做企业手机网站北京seo网站开发
  • 关于网站建设中原创文章的一些想法体育热点新闻
  • 天河做网站开发免费留电话号码的广告