使用flask_paginate(pymongo)实现分页

时间:2019-01-05 16:23:56

标签: python mongodb flask pymongo

我想使用flask_paginate实现烧瓶分页。我正在使用MongoDB

我已经通过实现这一目标的“家”路线了。但这不起作用。

这是我的家庭路线代码

@app.route("/")
@app.route("/home")
def home():
if current_user.is_authenticated:
    search = False
    q = request.args.get('q')
    if q:
        search = True

    page = request.args.get(get_page_parameter(), type=int, default=1)

    posts=mongo.db.articles
    #allpost=posts.find().limit(5)
    it=current_user.user_json['interest']
    allpost=posts.find( {'NewsType': it } )
    pagination = Pagination(page=page,per_page=5 ,total=allpost.count(), search=search, record_name='allpost')

    #flash(session['email'])        
    return render_template('index.html', posts=allpost,pagination=pagination)
else:
    return redirect(url_for('login'))
    #return render_template('login.html', title='Login',form=LoginForm())        

{% extends "layout.html" %}
{% block content %}
{% for post in posts %}
    <article class="media content-section">
      <div class="media-body">
        <div class="article-metadata">
         <a class="mr-2" href="#">{{ post.email }}</a>
         <small class="text-muted">{{ post.Date }}</small>
        </div>
        <h2><a class="article-title" href="{{url_for('post',post_id=post._id)}}">{{ post.Heading }}</a></h2>
        <p class="article-content">{{ post.NewsType }}</p>
      </div>
    </article>
{% endfor %}
{% endblock content %}
{{ pagination.links }}

这是我正在使用的index.html文件

我希望每页5篇文章。 有人可以告诉我为什么此代码不起作用,因为我可以转到下一页,但是显示的是所有文章,而不是5

0 个答案:

没有答案