zoukankan      html  css  js  c++  java
  • 深科技

    #####################################

    from api import models
    from utils.response_dict import BaseResponse
    from django.shortcuts import render
    from rest_framework.views import APIView
    from rest_framework.response import Response
    from rest_framework.viewsets import GenericViewSet, ViewSetMixin
    from api.serializers.serialize_article import ArticleSerializers, ArticleDetailSerializers
    from api.views.auth import YcAuth
    
    
    class DeepNews(ViewSetMixin, APIView):
        authentication_classes = [YcAuth,]
    
        def list(self, request, *args, **kwargs):
            """
            推文列表内容
            :param request:
            :param args:
            :param kwargs:
            :return:
            """
            ret = BaseResponse()
            try:
                article_list = models.Article.objects.all()
                serialized_art_list = ArticleSerializers(instance=article_list, many=True)
                ret.data = serialized_art_list.data
            except Exception as e:
                ret.code = 1001
                ret.error = '未获取到资源'
            return Response(ret.dict)
    
        def retrieve(self, request, *args, **kwargs):
            ret = BaseResponse()
            try:
                pk = kwargs.get('pk')
                obj = models.Article.objects.filter(pk=pk).first()
                ser = ArticleDetailSerializers(instance=obj, many=False)
                ret.data = ser.data
            except Exception as e:
                ret.data = 1001
                ret.error = '未获取到资源'
            return Response(ret.dict)

    ############################################

    from rest_framework import serializers
    from api.models import Article
    
    
    class ArticleSerializers(serializers.ModelSerializer):
        """
        Article表的序列化
        """
        source = serializers.CharField(source="source.name")
        article_type = serializers.CharField(source="get_article_type_display")
        position = serializers.CharField(source='get_position_display')
    
        class Meta:
            model = Article
            fields = ["title", "source", "article_type", 'head_img', 'brief', 'pub_date', 'comment_num', 'agree_num',
                      'view_num', 'collect_num', 'position']
    
    
    class ArticleDetailSerializers(serializers.ModelSerializer):
        """
        ArticleDetail表的序列化
        """
        class Meta:
            model = Article
            fields = ['title', 'pub_date', 'agree_num', 'view_num', 'collect_num', 'comment_num', 'source', 'content',
                      'head_img']

    #############################################

    #############################################

    #############################################

  • 相关阅读:
    ubuntu15.04下安装配置docker
    在Vmware/VirtualBox虚拟机环境中正确打开虚拟机
    windows下使用cx_freeze将Python程序打包成exe可执行文件
    Python正则表达式学习小结
    Ubuntu环境下利用Python3+PyQt5+Eric6进行GUI编程
    C#学习笔记——控件篇
    商务英语学习第一课(lending(借贷))
    Ajax的请求方式:get和post
    XML就像是扩展应用范围的HTML
    JQ数组=jQuery对象数组
  • 原文地址:https://www.cnblogs.com/andy0816/p/12495585.html
Copyright © 2011-2022 走看看