django-rest-framework(十)(视图)

视图

视图关系图
视图关系图

继承APIView

简单视图处理
urls.py

from django.conf.urls import url
from api import views
app_name = 'api'
urlpatterns = [
    url(r'^(?P<version>[v1|v2]+)/view/$', views.ViewView.as_view(), name='view'),
]

views.py

from rest_framework.views import APIView

class ViewView(APIView):
    def get(self, request, *args, **kwargs):
        return Response('视图处理')

继承GenericAPIView

规范化视图操作
views.py

from rest_framework.generics import GenericAPIView
from rest_framework.pagination import PageNumberPagination
from rest_framework import serializers
from rest_framework.response import Response
from api.models import Role

class PageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Role
        fields = '__all__'

class MyPageSerializer(PageNumberPagination):
    '''自定义分页类'''
    
    # 设置显示页数的参数
    page_query_param = 'page' # ?page=3&size=3 中的page名

    # 设置每页显示数量,每页显示三条数据
    page_size = 3

    # 设置每页显示数量的参数
    page_size_query_param = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django REST Framework Cache是一个Django框架的扩展,用于缓存REST API的响应数据。它提供了一种简单的方式来缓存API视图的响应,以减少数据库查询和加快请求的响应速度。 使用Django REST Framework Cache,你可以通过在视图类或视图函数上添加装饰器来启用缓存。这个扩展支持多种缓存后端,包括内存缓存、数据库缓存和文件缓存等。你可以根据你的需求选择适合的缓存后端。 为了使用Django REST Framework Cache,你需要在你的Django项目中安装并配置它。你可以通过pip安装它: ``` pip install djangorestframework-cache ``` 安装完成后,在你的项目的settings.py文件中添加以下配置: ```python INSTALLED_APPS = [ ... 'rest_framework_cache', ] CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', } } REST_FRAMEWORK_CACHE = { 'DEFAULT_CACHE_BACKEND': 'default', } ``` 然后,在你的API视图类或函数上使用`@cache_response`装饰器来启用缓存: ```python from rest_framework.decorators import api_view from rest_framework_cache.decorators import cache_response @api_view(['GET']) @cache_response(timeout=60*60*24) # 缓存一天 def my_view(request): ... ``` 这样,当该API被访问时,响应数据将会被缓存,并在下次请求相同的API时直接返回缓存的响应数据,而不需要执行相同的查询操作。 通过使用Django REST Framework Cache,你可以有效地提高REST API的性能和响应速度,并减少对数据库的负载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值