Basierend auf Flask und SQLAlchemy funktioniert Paginierung nur auf Standard 1. Seite, wenn Klick Pre oder nächste Seite, zeigt eine leere Seite (mit dem leeren SearchForm). Es scheint, dass vor und nächste Seite kann nicht Suche "Schlüsselwort" Wert erhalten, Seitenumbruch gibt keine Ergebnisse zurück. Ich habe versucht, wie folgt:Flask Paginierung kann keine Formulardaten auf der nächsten Seite erhalten, wie folgt:
form.py
class SearchForm(Form):
search_keyword = StringField('', validators = [DataRequired()])
submit = SubmitField('Start Search')
views.py
@app.route('/search', methods=['GET'])
def search():
form = SearchForm():
keyword = form.search_keyword.data
page = request.args.get('page', 1, type=int)
value = request.args.get('keyword')
if form.validate_on_submit():
pagination = Post.query.filter(Post.content.like(keyword))paginate(
page, per_page=current_app.config['default'], error_out=False)
posts = pagination.items
return render_template('search.html', posts=posts, pagination=pagination, form=form, value=value)
search.html
<div class="list">
{% include 'base.html' %}
</div>
{% if pagination %}
<div class="pagination">
{{ macros.pagination_widget(pagination, '.search', value=value)}}
</div>
{% endif %}
Sie werden den Code für die Paginierung enthalten müssen Widget- Es ist wahrscheinlich, Ihre Paginierung Das Widget fügt die benötigten URL-Argumente nicht an. – Doobeh
Ich hatte 'base.html' für diese Suchpaginierung eingefügt, aber ich bin nicht sicher, ob das Schlüsselwort 'value' 'base.html' durchlaufen muss. Die 'base.html' ist nur eine Iterationsseite (für Post in Posts, Listenpost ...). Wie kann ich prüfen, ob der 'Wert' erfolgreich in die Query übernommen wurde? – rogwan