def get(self): ver = self.get_argument("ver", 3) name = self.get_argument("name", '') sid = self.get_argument("id", 0) ver = int(ver) sid = int(sid) # parents [0] if name or sid: # 具体某个标签 if not name and sid: tag = Tag.by_sid(sid) name = tag['name'] self.res = d_tags_v3.get(name, {}) if self.res: parents = d_tags_parents.get(self.res['name'], {}) node = d_tags_v3.get(parents, {}) self.res['parents'] = copy.deepcopy(node) self.res['parents'].pop('subs') brothers = [] for sub in copy.deepcopy(node)['subs']: sub.pop('subs') brothers.append(sub) self.res['brothers'] = brothers if parents: parents_p = d_tags_parents.get(parents, {}) if parents_p: node = d_tags_v3.get(parents_p, {}) self.res['parents']['parents'] = copy.deepcopy(node) self.res['parents']['parents'].pop('subs') parents_pp = d_tags_parents.get(parents_p, {}) if parents_pp: node = d_tags_v3.get(parents_pp, {}) self.res['parents']['parents'][ 'parents'] = copy.deepcopy(node) self.res['parents']['parents']['parents'].pop( 'subs') self.res['articleNumber'] = Share.count_by_tag( self.res['name']) self.res['followerNumber'] = User.find({ 'user_tags': { '$in': [name] } }).count() self.res['isFollowing'] = False user_id = self.current_user[ "user_id"] if self.current_user else None if user_id: user = User.by_sid(user_id) if user: # model1 self.res['isFollowing'] = name in user['user_tags'] # model2 查看like 表 # self.res['isFollowing'] = name in user['user_tags'] print("self.res['followerNumber']", self.res['followerNumber']) tag = Tag.by_name(self.res['name']) if tag: self.res['id'] = tag['id'] else: self.res['id'] = -1 else: # 从根节点开始 if ver == 3: self.res = d_tags_v2 self.res['parents'] = {} # root self.res['articleNumber'] = Share.count_by_tag( self.res['name']) tag = Tag.by_name(self.res['name']) # 7491 self.res['id'] = -1 if tag: self.res['id'] = tag['id'] elif ver == 2: self.res = d_tags_v2 if self.current_user and 'user_id' in self.current_user: user = User.by_sid(self.current_user['user_id']) self.res['watched_tags'] = user['user_tags'] else: self.res = d_tags self.write_json()