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

十堰网站优化排名营销型网站seo

十堰网站优化排名,营销型网站seo,专业建设费用怎么花,无锡做公司网站多少钱1.View:Django默认的视图基类,Django的HttpRequeset对象 2.APIView:REST-framework提供的所有视图的基类,继承自Django的View REST framework的Request对象 Request对象的数据是自动根据前端发送数据的格式进行解析之后的结果。 serializer Book…

1.View:Django默认的视图基类,Django的HttpRequeset对象

2.APIView:REST-framework提供的所有视图的基类,继承自Django的View
    REST framework的Request对象

Request对象的数据是自动根据前端发送数据的格式进行解析之后的结果。

serializer = BookSerializer(book,many=True)    序列化,获取字段
serializer.data    获取序列化后的数据
serializer = BookSerializer(data=data)    反序列化,传入字段
serializer.is_valid(raise_exception=True)    校验并返回错误

3.GenericAPIView:继承自APIView,增加列表视图和详情视图的通用方法和属性

https://blog.csdn.net/qq_31742423/article/details/83241461

属性:提前将要调用的设置好,方法中直接调用就可以
queryset 设置结果集      ~queryset = BookInfo.objects.all()
serializer_class 设置序列化器    ~serializer_class = BookSerializer
lookup_field 查询指定的对象,默认为'pk'    ~lookup_field = 'id'

方法:
get_queryset(self) 返回视图使用的查询集    ~books = self.get_queryset()
get_serializer(self,_args, *_kwargs) 返回序列化器对象    ~serializer = self.get_serializer(book)
get_object(self) 返回详情视图所需的模型类数据对象    ~book = self.get_object()


# ListModelMixin            列表,获取全部对象
# CreateModelMixin          新增资源
# RetrieveModelMixin        索引,获取一个资源
# UpdateModelMixin             更新一个资源
# DestoryModelMixin     损毁,删除一个资源
调用的时候和GenericAPIView一样放在类的括号里,好像光放置首字母大写也可以

Patch    补丁,局部更新某一属性,user_name,Put方法的补充


4.三级视图(对GenericAPIView和Mixin的直接封装)
第3和4算是一种关系

mixins类,会返回不同的状态码
CreateAPIView    创造
ListAPIView    列表
RetrieveAPIView    检索
DestroyAPIView    损毁
UpdateAPIView    更新
ListCreateAPIView    列表创造
RetrieveUpdateAPIView    检索更新
RetrieveDestroyAPIView    检索删除
RetrieveUpdateDestroyAPIView    检索更新删除

导入封装的模型,通过下面就可以更加简洁
from rest_framework import mixins
class ProjectsView(mixins.ListModelMixin,
                   mixins.CreateModelMixin,
                   mixins.RetrieveModelMixin,
                   mixins.UpdateModelMixin,
                   mixins.DestroyModelMixin,
                   GenericAPIView):
    # 增加所需属性
    def get(self, request, *args, **kwargs):
        return self.list(request, *args, **kwargs)
    def post(self, request, *args, **kwargs):
        return self.create(request, *args, **kwargs)

5.ViewSet:继承自APIView

router = DefaultRouter()    创建默认的本机地址
router.register(r'booklist',views.BookModelViewset)
会生成两种url
user/    列表
user/3    详情
urlpatterns +=  router.urls    将建立好的url放在地址列表中


需要继承viewsets.ViewSet类
类的函数不需要使用get\post\delete等,可以自建其他函数,然后在路由中转
path('user/',view.MyViewSet.as_view({
    'get':'list',
}))


https://zhuanlan.zhihu.com/p/72527077


序列化:将数据库的数据模型转化为前端所需要的格式(json等)
反序列化:可以验证传入数据是否规范并保存

反序列化:拿到前端数据->序列化器的data->调用序列化器的is_vaid()方法
校验->调用序列化器的.sava()方法保存

~~~url.py~~~

# viewsets
# 封装drf路由
from rest_framework.routers import DefaultRouter
# 创建路由器
router=DefaultRouter()
# 注册路由
router.register(r'user_model_view_set',views.UserModelViewSet)
# 将生成好的路由放在原路由
urlpatterns+=router.urls


~~~views.py~~~

# 这里使用的viewset
from rest_framework import viewsets
from rest1.serializers import UserModelViewSetSerializers
# ViewSet
class UserModelViewSet(viewsets.ModelViewSet):
    queryset = UserInfo.objects.all()
    serializer_class = UserModelViewSetSerializers
    lookup_field = 'id'


~~~serializers.py~~~

# ModelSerializer
class UserModelViewSetSerializers(serializers.ModelSerializer):
    # 定义序列化器
    # class Meta做为嵌套类,主要目的是给上级类添加一些功能或者标准
    class Meta:
        # 指定序列化从那个模型映射字段
        model=UserInfo
        # 映射所有字段
        fields='__all__'
        # 填入指定字段
        # fields = ('user_name', 'password')
        # 除了这个字段
        # exclude = ('user_name',)
        # 含有外键的数据库,设置depth为整数,通常为1


 

http://www.hyszgw.com/news/20994.html

相关文章:

  • 信丰县建设局网站搜索引擎营销的英文简称
  • 帮人做诈骗网站 获利13万推广网络营销案例
  • 网站怎么做百度关键字搜索10常用的网络营销方法
  • 做得好的营销网站国内最新新闻
  • 印度喜欢用什么框架做外贸网站昆明网络推广优化
  • php做网站速成网页设计与制作软件
  • 企业网站的类型小程序开发流程详细
  • 邢台生活网seo引擎优化外包公司
  • 老年人做网站搜索引擎优化的概念是什么
  • 描述电子商务网站建设超级优化大师下载
  • wordpress 同步到微信石家庄网站建设seo
  • 租网站服务器价格新疆疫情最新情况
  • 用vs2012做网站案例最近新闻热点大事件
  • 龙华区网站建设淘宝推广软件哪个好
  • 惠州高端网站建设加快百度收录的方法
  • 百度seo排名优化公司哪家强福州seo优化排名推广
  • 为什么政府网站做的很烂适合seo的建站系统
  • wordpress实现商城东莞seo收费
  • 日本网站开发工程师工资百度官网网站登录
  • 专业网站定制服务中国互联网电视app下载安装
  • 如何说明学校网站建设情况湖南seo推广多少钱
  • 厦门网站建设公司推荐在线视频观看免费视频22
  • 如何做漫画赚钱的网站百度推广平台登录入口
  • 二级域名wordpress重庆网页优化seo
  • 商城网站需要多少钱谷歌网站优化
  • 做一个微网站平台世界杯32强排名
  • 网站建设工作动态做营销策划的公司
  • 哪家的装修公司比较好个人网站seo
  • 合肥建设网网站线上营销活动主要有哪些
  • 沈阳做网站企业友情链接的检查方法