def show():
    all_pages = request.args.get('all_pages', '')

    search = False
    q = request.args.get('q')
    if q:
        search = True
    try:
        page = int(request.args.get('page', 1))
    except ValueError:
        page = 1

    questions_all = []
    key_words = ''
    # 搜索关键字
    if request.method == 'POST':
        key_words = request.form.get('key_word')
        if key_words:
            indexs = db.index.find_one({key_words: {'$exists': True}})
            if indexs:
                ids = [ObjectId(id) for id in indexs[key_words].keys()]
                questions_all = db.zhihu.find({'_id': {"$in": ids}}).sort('answer_count', -1)
    if not questions_all:
        if all_pages:
            questions_all = db.zhihu.find().sort('answer_count', -1)
        else:
            questions_all = db.zhihu.find({'created': {"$gt": days_ago}}).sort('answer_count', -1)
            #如果最近几天没有数据(没有爬数据),则显示前50条数据
            if not questions_all.count():
                questions_all = db.zhihu.find().sort('created', -1).limit(50)

    pagination = Pagination(page=page, total=questions_all.count(True), search=search, record_name='questions')
    pagination.per_page = 30  #每页30个条目

    #pagination插件有问题,这里参考boostrap分页的写法
    links = str(pagination.links).replace('<div class="pagination"><ul>', '<div><ul class="pagination">')

    questions = questions_all[(page-1)*pagination.per_page:page*pagination.per_page]
    return render_template('base.html', questions=questions, pagination=pagination, links=links, key_words=key_words)