점프 투 플라스크 3-2 페이징 기능
from datetime import datetime
from flask import Blueprint, render_template, request, url_for
from werkzeug.utils import redirect
from pybo import db
from pybo.models import Question
from pybo.forms import QuestionForm, AnswerForm

bp = Blueprint('question', __name__, url_prefix='/question')


@bp.route('/list/')
def _list():
    page = request.args.get('page', type=int, default=1)  # 페이지
    question_list = Question.query.order_by(Question.create_date.desc())
    question_list = question_list.paginate(page, per_page=10)
    return render_template('question/question_list.html', question_list=question_list)


@bp.route('/detail/<int:question_id>/')
def detail(question_id):
    form = AnswerForm()
    question = Question.query.get_or_404(question_id)
    return render_template('question/question_detail.html', question=question, form=form)


@bp.route('/create/', methods=('GET', 'POST'))
def create():
    form = QuestionForm()
    if request.method == 'POST' and form.validate_on_submit():
        question = Question(subject=form.subject.data, content=form.content.data, create_date=datetime.now())
        db.session.add(question)
        db.session.commit()
        return redirect(url_for('main.index'))
    return render_template('question/question_form.html', form=form)

책과 같이 코드 작성하였는데, TypeError: 'Pagination' object is not iterable라는 오류가 뜨네요. 어디가 잘못되었을까요?

seooo03 853

2021년 7월 26일 10:04 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

템플릿에서 for 문을 다음처럼 하셨는지 확인해 보세요.

{% for question in question_list.items %}

박응용

2021년 7월 26일 10:13 오후

뒤에 .items가 빠져있어서 추가하니 해결되었습니다! 책 뒤쪽을 확인하지 않고 바로 실행했더니 오류가 떴던 것 같습니다ㅎㅎ 답변 감사드립니다! - seooo03님, M 2021년 7월 26일 10:19 오후 추천 , 대댓글