def wrapper(*args, **kwargs): # 查询排名前10的新闻 news_list = [] # type:News try: news_list = News.query.order_by(News.clicks.desc()).limit(10).all() except Exception as e: current_app.logger.error(e) g.news_list = [News.to_dict() for News in news_list] return func(*args, **kwargs)
def index(): """ 获取session值,判断是否登录 查询用户信息 数据库查询排名前10数据 # add 查询新闻分类数据,渲染 后端渲染 :return: """ user_id = session.get('user_id') user = None # type: User if user_id: # 数据库查询用户信息 try: user = User.query.get(user_id) except BaseException as e: current_app.logger.error(e) # 查询排名前10的新闻 news_list = [] #type:News try: news_list = News.query.order_by(News.clicks.desc()).limit(10).all() except Exception as e: current_app.logger.error(e) news_list = [News.to_dict() for News in news_list] # 将模型转为字典 user = user.to_dict() if user else None # 查询所有的新闻分类,将数据传入模板渲染 categories = [] try: categories = Category.query.all() except Exception as e: current_app.logger.error(e) # TODO 将用户信息传入模板渲染 return render_template('index.html', user=user, news_list=news_list, categories=categories)