예제 #1
0
 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)
예제 #2
0
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)