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

dedecms网站地图模板怎么网站建设找实体还是淘宝

dedecms网站地图模板怎么,网站建设找实体还是淘宝,大兴网站开发,wordpress 欢迎插件注意#xff1a;该文章部分摘抄之百度#xff0c;仅当做学习笔记供小白使用#xff0c;若侵权请联系删除#xff01; 显示关联表的数据#xff0c;本示例会显示所有的关联的数据信息 from rest_framework import serializers from .models import Student class StudentM… 注意该文章部分摘抄之百度仅当做学习笔记供小白使用若侵权请联系删除 显示关联表的数据本示例会显示所有的关联的数据信息 from rest_framework import serializers from .models import Student class StudentModelSerializer(serializers.ModelSerializer):class Meta:model Studentfields __all__ 读取到的结果器数据关联的为数字此时需要进行一些操作可以读到正确数据 方法1 source字段名.关联属性值 from rest_framework import serializers from drf_app import models # 文章的Serializer class ArticleSerializer(serializers.ModelSerializer):category serializers.CharField(sourcecategory.name)class Meta:model models.Articlefields [id,title,summary,content,category] 方法2 返回其属性值 from rest_framework import serializers from . import models# 文章的Serializer class ArticleSerializer(serializers.ModelSerializer):category serializers.SerializerMethodField()class Meta:model models.Articlefields [id, title, summary, content, category]def get_category(self, obj): # obj是表中的一行记录的对象return obj.category.name 显示choice类型字段的对应数据 # 方法1 status serializers.CharField(sourceget_status_display) # 方法2 class Meta:def get_category(self,obj): #obj是表中的一行记录的对象return get_status_display() 认证权限 权限选项 AllowAny           # 容许所有用户IsAuthenticated   #  仅通过认证的用户IsAdminUser      #  仅管理员用户IsAuthenticatedOrReadOnly  #  只有认证的用户可以完全操作其他可以可读 # 全局认证权限配置 REST_FRAMEWORK {DEFAULT_AUTHENTICATION_CLASSES:(rest_framework.authentication.BasicAuthentication, # Basic 认证rest_framework.authentication.SessionAuthentication, # Session 认证),DEFAULT_PERMISSION_CLASSES: (rest_framework.permission.IsAuthenticated # 全局权限管理 登录的用户才可以访问), # 若无此配置默认所有用户可以访问rest_framework.permission.AllowAny }# view 单个视图认证权限 from rest_framework.authentication import SessionAuthentication,BasicAuthentication from rest_framework.permissions import IsAuthenticated from rest_framework.views import APIViewclass MyView(APIView):# 指定认证的方式 # 401 未认证 403 权限被禁止authentication_classes (SessionAuthentication,BasicAuthentication)permission_classes (IsAuthenticated)# url 文件配置# DRF自带的登录接口认证 path(api-auth/,include(rest_framework.urls)) # 登录接口的配置,已封装注销及登录接口 限流 限制接口的访问频率减少服务器的压力反爬虫 REST_FRAMEWORK {# 限流,全局默认配置DEFAULT_THROTTLE_CLASSES:[rest_framework.throttling.AnonRateThrottle,rest_framework.throttling.UserRateThrottle,],# 设置用户的访问频率,局部用户限制,通过使用UserRateThrottle来限制用户的访问频率DEFAULT_THROTTLE_RATES: {# 时间周期 second/minute/hour/dayanon:10/day , # 未认证的用户 10/dayuser:1000/day # 认证的用户 100/day} }# 局部配置调用视图view from rest_framework.throttling import UserRateThrottleclass MyView(APIView):# 限流限制用户的访问频率throttle_classes (UserRateThrottle) 限流类型 AnonRateThrottle  限制所有匿名未认证的用户使用IP区分使用DEFAULT_THROTTLE_RATES[anon] 来设置频率UserRateThrottle 限制认证用户使用用户ID区分使用DEFAULT_THROTTLE_RATES[anon] 来设置频率ScopedRateThrottle 限制用户对于具体视图的访问频率使用IP或ID区分视图中使用throttle_scope 制定频率 全局配置 DEFAULT_THROTTLE_CLASSES: 设置限流类型DEFAULT_THROTTLE_RATES: 设置限制的频率 过滤使用列表数据过滤字段信息可使用django-fitlter扩展支持 pip install django-filter # 安装过滤器 # 注册app django_filters# 指定过滤器 REST_FRAMEWORK {DEFAULT_FILTER_BACKENDS:(django_filters.rest_framework.DjangoFilterBackend) } # 方式1 自定义字段过滤 filterset_fields (age,) # 方法2 自定义过滤类 filterset_class UserInfoFilterfrom app.models import UserInfo from django_filters import rest_framework as filters class UserInfoFilter(filters.FilterSet):自定义过滤器类# 自定义字段过滤min_age filters.NumberFilter(field_nameage,lookup_exprgte)max_age filters.NumberFilter(field_nameage,lookup_exprlte)# 关联字段需要 关联字段__属性 实现name filters.CharFilter(field_nameuser__name)class Meta:model UserInfofields [name,age] 接口文档DRF 自动生成网页版的接口文档其生成的是继承APIView及其子类的视图 pip install coreapi # 安装依赖# setting 配置 REST_FRAMEWORK {# 接口文档配置DEFAULT_SCHEMA_CLASS:rest_framework.schemas.coreapi.AutoSchema, }# url 配置 from django.urls import path,include,re_path from rest_framework.documentation import include_docs_urls urlpatterns [re_path(r^docs/,include_docs_urls(title接口文档)) ] 排序DRF提供OrderingFilter可快速实现数据的指定方式排序 # 局部信息配置 serializer_class xxxserializer filter_backends [OrderingFilter] # 指定排序的过滤器 ordering_fields (ageid) # 指定字段# 指定ordering参数字段对数据集进行排序 xxx/?orderingage# 全局配置信息 REST_FRAMEWORK {# 指定过滤器DEFAULT_FILTER_BACKENDS:(# 指定django_filters的过滤器过滤django_filters.rest_framework.DjangoFilterBackend,# 指定DRF自带的排序过滤器来进行数据排序rest_framework.filters.OrderingFilter), } 分页 # 全局配置 REST_FRAMEWORK {# 分页 全局配置DEFAULT_PAGINATION_CLASS:rest_frame.pagination.PageNumberPagination,PAGE_SIZE: 10 # 每页数据量 }# 局部配置from rest_framework.pagination import PageNumberPaginationclass UserInfoPagination(PageNumberPagination):page_size 5 # 每页数据量page_query_param page # 页面关键字参数默认 pagepage_size_query_param size # 前端的每页面关键字参数 默认Nonemax_page_size 100 # 每页的数据量的最大值class MyView(APIView):局部配置可通过pagination_class属性实现不同的分页器pagination_class UserInfoPagination 异常处理 # setting 配置 REST_FRAMEWORK {# 异常处理配置# EXCEPTION_HANDLER:rest_framework.views.exception_handler,# 自定义异常的处理函数接口EXCEPTION_HANDLER:common.exception.my_exception_handler, }# 自定义异常处理 from rest_framework.views import exception_handler,Response,statusdef custom_exception_handler(exc,context):response exception_handler(exc,context)if response is not None:response.data[status_code] response.status_codeelse:data {error:服务器出错了}response Response(data,statusstatus.HTTP_500_INTERNAL_SERVER_ERROR)return response 文件上传 ImageField   # 上传图片FileField       #  上传文件 # model 配置 class ImageModel(models.Model):# file models.FileField() # 保存文件的字段file models.ImageField() # 用于保存图片文件的字段class Meta:db_table imageverbose_name 图片# serial 序列化 from rest_framework import serializers from models import UserInfo,ImageModelclass ImageSerializer(serializers.ModelSerializer):图片关联序列化class Meta:model ImageModelfields __all__#setting 配置 # 指定文件上传存放的路径 MEDIA_ROOT BASE_DIR / image# 指定文件url的路径 MEDIA_URL # view视图配置from .models import models,ImageModel from rest_framework.viewsets import ModelViewSet,mixins,GenericViewSetfrom .serializers import ImageSerializer class ImageView(mixins.CreateModelMixin,mixins.RetrieveModelMixin,mixins.ListModelMixin,GenericViewSet):queryset ImageModel.objects.all()serializer_class ImageSerializer 文件的上传和获取下载方式自定义优化 from .models import models,ImageModel from rest_framework.viewsets import ModelViewSet,mixins,GenericViewSet from django.http import FileResponsefrom .serializers import ImageSerializer class ImageView(mixins.CreateModelMixin,mixins.RetrieveModelMixin,mixins.ListModelMixin,GenericViewSet):queryset ImageModel.objects.all()serializer_class ImageSerializer# 上传文件优化限制文件的上传大小def create(self, request, *args, **kwargs):pic request.data.get(files)size,name,type pic.size,pic.name,pic.content_typeif size1024*30:return Response({error:图片不可以超过30kb},statusstatus.HTTP_400_BAD_REQUEST)elif type not in [image/png,image/jpg]:return Response({error:你上传的文件格式有问题},statusstatus.HTTP_400_BAD_REQUEST)else:return super().create(request,*args,**kwargs)def retrieve(self, request, *args, **kwargs): # 照片获取下载pic self.get_object()path pic.files.pathreturn FileResponse(open(path),rb)def get_image(request,name):path MEDIA_ROOT / namereturn FileResponse(open(path,rb))# url 配置 urlpatterns [re_path(image/(.?)/,views.get_image) ]
http://www.zqtcl.cn/news/327718/

相关文章:

  • 网站首页样式百度推广是什么工作
  • 广告手机网站制作阿里云域名 设置网站
  • 杭州市拱墅区网站建设ui培训有用么
  • 广东手机网站建设多少钱邯郸市做网站的公司
  • seo网站优化推广怎么做龙岗中心医院
  • 建网站程序智能网站建设平台
  • 建筑公司分几级资质seo入门培训
  • wap类网站上海网站建设免费推
  • 网站建设哪家好公司建设银行网站怎么登陆不
  • 关于建设网站的需求wordpress不能发布文章
  • 如何一键建淘宝客网站中国建设银行金华分行网站
  • 给wordpress添加公告英语seo
  • 佛山市网站建设系统wap浏览器网页版
  • 关于小说网站的一些建设流程学做蛋糕有哪些网站
  • 益阳购物网站开发设计禹城网站制作
  • 教育网站开发文档全网营销推广案例
  • 最流行的网站开发框架wordpress阅读权限
  • 怎么做推广网站创立网站
  • 制作自己的网站需要什么材料网站计费系统怎么做
  • 网站和域名的区别昆山网站开发建设公司
  • 兼职网站推广如何做西安市商标局
  • 打开网站说建设中是什么问题莱芜金点子招小时工
  • 做网站的相关协议秦皇岛解封最新消息今天
  • 网站托管维护方案新闻媒体发稿平台
  • 网站扩展名四平网站建设怎么选
  • 网站制作价格与售后视频网站建设有什么意义
  • 网站建设+太原1核1g可以做几个网站
  • 电商设计网站有哪些内容西安百度推广外包
  • 深圳网站建设价格多少做废旧金属的网站
  • wordpress 文档超级优化空间