2016-08-01 2 views
4

flask_paginate를 사용하여 백엔드에서 오는 데이터의 페이지 매김을 시도하고 있습니다. 나는 그것을 수행하기 위해서 https://pythonhosted.org/Flask-paginate/을 따라 갔다.UndefinedError : 'flask_paginate.Pagination object'에는 'skip'속성이 없습니다.

내보기 -

<!DOCTYPE html> 
<html lang='en'> 
<head> 
    <meta charset="utf-8" /> 
    <title>AT - Monitoring System</title> 

</head> 
<body> 
{{ pagination.info }} 
{{ pagination.links }} 
<table id="myTable"> 
<thead> 
<tr> 
    <th>Sector ID</th> 
    <th>Username</th> 
    <th>Password</th> 
    <th>Camera Name</th> 
    <th>Camera ID</th> 
    <th>Recording status</th> 
</tr> 
</thead> 
<tbody> 
{% for each in response %} 
<tr> 
    <td>{{ loop.index + pagination.skip }}</td> 
    <td>{{each[0]}} </td> 
    <td>{{each[1]}} </td> 
    <td>{{each[2]}}</td> 
    <td>{{each[3]}}</td> 
    <td>&nbsp;{{each[4]}}</td> 
    <td>{{each[5]}}</td> 
</tr> 
{% endfor %} 
</tbody> 
</table> 
{{ pagination.links }} 
</body> 
</html> 

파이썬 코드 - 나는 나에게 pagination.skip (의 사용법을 보여줍니다 문서)를 찾기 위해 노력했지만 아무것도 찾을 수 없습니다

APP = flask.Flask(__name__) 
@APP.route('/', methods=['GET', 'POST']) 
def index(): 
    """ Displays the index page accessible at '/' 
    """ 
    search = False 
    q = request.args.get('q') 
    if q: 
     search = True 

    page = request.args.get('page', type = int, default = 1) 
    pagination = Pagination(page=page, total=len(Backend()), search=search, record_name='response') 
    if request.method == 'GET': 
     return flask.render_template('index.html', 
            response = data, 
            pagination = pagination 
            ) 
if __name__ == '__main__': 
    data = Backend() 
    Thread(target=main_loop).start() 
    APP.debug=True 
    APP.run(port=63000) 

. 이 기능을 제거 할 때, 나는 아니오를 본다. 내 브라우저에서 페이지를 열 수는 있지만 페이지의 내용대로 내용이 표시되지 않습니다. 확실히 뭔가가 있습니다, 큰 시간을 놓치고 있습니다. 다른 온라인 예는 https://pythonhosted.org/Flask-paginate/

답변

0
@app.route('/') 
def index(): 
    page, per_page, offset = get_page_args(page_parameter='page', 
              per_page_parameter='per_page') 
    cursor = mongo.db.NameCollection 
    urls = cursor.find({}).sort('_id', pymongo.ASCENDING).skip(offset).limit(per_page) 
    total = cursor.count() 
    pagination = Pagination(page=page, 
          per_page=per_page, 
          total=total, 
          record_name='users', 
          format_total=True, 
          format_number=True, 
          css_framework='foundation') 
    return render_template('index.html', 
          urls=urls, 
          page=page, 
          per_page=per_page, 
          pagination=pagination) 

<!DOCTYPE html> 
<html> 
    <head> 
     <!-- Latest compiled and minified CSS --> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
     <link rel="stylesheet" href="..."> 
    </head> 
    <body> 
     <h1>...</h1> 
     {{ pagination.info }} 
     {{ pagination.links }} 
     <table class="table"> 
      <thead> 
       <tr> 
        <th>#</th> 
        <th>...</th> 
        <th>...</th> 
        <th>...</th> 
        <th>...</th> 
       </tr> 
      </thead> 
      <tbody> 
       {% for url in urls %} 
        <tr> 
         <td>{{ loop.index + (page - 1) * per_page }}</td> 
         <td>{{ url. ... }}</a></td> 
         <td>{{ url. ... }}</td> 
         <td>{{ url. ... }}</td> 
         <td>{{ url. ... }}</td> 
        </tr> 
       {% endfor %} 
      </tbody> 
     </table> 
     {{ pagination.links }} 
    </body> 
</html> 
에서 언급 한 것과 매우 다릅니다.
관련 문제