Exemple #1
0
 def getMenuTable(self, request):
     data = request_body_to_dict(request)
     print(data)
     article_menu = ArticleMenu.objects.filter()
     fields = ArticleMenu().return_fields
     fields = fields + ['id', 'created', 'updated']
     hander = lambda item: object_to_dict(fields, item)
     res = [hander(item) for item in article_menu]
     return self.xml_response_for_json(
         self.success_response(data=res, msg='获取成功'))
Exemple #2
0
 def getTopLevelArticleClassify(self, request, *args):
     """
     获取文章分类的顶级分类(level为1的)
     :param request:
     :param args:
     :return:
     """
     query = ArticleClassify.objects.filter(level=1)
     fields = ['name', 'guid', 'return_all_children_count', 'isLeaf']
     hander = lambda item: object_to_dict(fields, item)
     res = [hander(item) for item in query]
     data = {'items': res}
     return self.xml_response_for_json(
         self.success_response(data=data, msg='获取成功'))
Exemple #3
0
 def return_tree_data():
     """
     返回树形结构数据
     :return:
     """
     # 查出顶级对象
     top_data = ArticleClassify.objects.filter(level=1)
     data = []
     for item in top_data:
         hander = lambda x: object_to_dict(['name', 'guid', 'isLeaf', 'return_all_children_count'], x)
         res = hander(item)
         res['children_list'] = item.get_true_children(item.guid, hander)
         data.append(res)
     return data
Exemple #4
0
 def getArticleClassifyList(self, request, *args):
     """
     获取文章分类(通过关键字来搜索)
     :param request:
     :param models_name:
     :return:
     """
     data = request_body_to_dict(request)
     name = data.get('name', '')
     fields = ArticleClassify().get_fields()
     hander = lambda item: object_to_dict(fields, item)
     query = ArticleClassify.objects.filter(name__contains=name)
     res = [hander(item) for item in query]
     data = {'items': res, 'count': query.count()}
     return self.xml_response_for_json(
         self.success_response(data=data, msg='获取成功'))
Exemple #5
0
 def getArticleClassifyForGUID(self, request, *args):
     """
     通过GUID获取当前分类下的子分类(不返回子分类的子分类)
     :param request:
     :param args:
     :return:
     """
     params = request_body_to_dict(request)
     parent = params.get('parent')
     query = ArticleClassify.objects.filter(parent=parent)
     fields = [
         'name', 'guid', 'return_parents', 'return_all_children_count',
         'isLeaf'
     ]
     hander = lambda item: object_to_dict(fields, item)
     res = [hander(item) for item in query]
     data = {'items': res}
     return self.xml_response_for_json(
         self.success_response(data=data, msg='获取成功'))
Exemple #6
0
 def getCommonClassifyTag(self, *args):
     """
     获取常用标签(随机返回10个)
     :return:
     """
     # ArticleClassify.Meta.ordering = ['?']
     import random
     color_list = [
         '#FF895D', '#31bfb9', '#FF2E63', '#00BBF0', '#AC005D', '#0D7377',
         '#67c23a', '#e6a23c', '#404802', '#009a61'
     ]
     random.shuffle(color_list)
     query = ArticleClassify.objects.filter()[:10]
     fields = ['name', 'guid']
     hander = lambda item: object_to_dict(fields, item)
     res = [hander(item) for item in query]
     for index, item in enumerate(res):
         item.update({'color': color_list[index]})
     # res = [item.update({'color': color_list[index]}) for index, item in enumerate(res)]
     random.shuffle(res)
     data = {'items': res}
     return self.xml_response_for_json(
         self.success_response(data=data, msg='获取成功'))