Pull to refresh

Comments 4

а как правильнее реализовать циферную пагинацию типа
1 2 3… 99 последняя (как на неё кстати линк лучше просчитать, count / на колво отображаемых постов из конфига?)
и тд? пробегать в цикле has next затратно же?
п.с. в Питоне я пока только начал разбираться
Я думаю что можно использовать то же самое что описано в статье, только немножко переделать шаблон как-нибудь так:
<!-- posts is a Paginate object -->
{% for post in posts.items %}
    {% include 'post.html' %}
{% endfor %}
{% if posts.has_prev %}<a href="{{ url_for('user', nickname = user.nickname, page = posts.prev_num) }}"><< {{ page - 1 }}</a>{% endif %} 
... 
{% if posts.has_next %}<a href="{{ url_for('user', nickname = user.nickname, page = posts.next_num) }}">{{ page + 1}} >></a>{% endif %}
{% if page != max_page %} <a href="{{ url_for('user', nickname = user.nickname, page = max_page) }}"> {{ max_page}}</a>{% endif %}


И вьюху изменить:
@app.route('/user/<nickname>')
@app.route('/user/<nickname>/<int:page>')
@login_required
def user(nickname, page = 1):
    user = User.query.filter_by(nickname = nickname).first()
    if user == None:
        flash('User ' + nickname + ' not found.')
        return redirect(url_for('index'))
    posts = user.posts.paginate(page, POSTS_PER_PAGE, False)
max_page = User.query.all().count() / POSTS_PER_PAGE + 1    
return render_template('user.html',
        user = user,
        posts = posts,
        max_page = max_page,)


Только не забыть обработать в шаблоне граничные состояния, когда предыдущей или следующей страницы нет.
Спасибо! Как дойду до этого обязательно попробую такой вариант!
Only those users with full accounts are able to leave comments. Log in, please.