jinja2.exceptions.TemplateSyntaxErrorが解決できません。
flaskでページネーションの実装をおこなっていましたが、
どうしても、下記のエラーが解決できません。
user_maintenance.html内のfor文やif文のブロックに問題があるようですが、
{% endfor %}や{% endif %}はじっかりとfor文、if文に対応できていると思っております。
エラー文の
閉じる必要がある最も内側のブロックは「for」です。
という箇所も、しっかりと、for文は、閉じております。
この様なエラーで、他に確認すべきこと、解決策をご教示いただければと思います。
jinja2.exceptions.TemplateSyntaxError: 不明なタグ 'endblock' が見つかりました。あなたはおそらく入れ子の間違いを犯しました。Jinja はこのタグを期待していますが、現在 'endfor' または 'else' を探しています。閉じる必要がある最も内側のブロックは「for」です。
app.py
@app.route('/user_maintenance')
def user_maintenance():
page = request.args.get('page', 1, type=int)
users = User.query.order_by(User.id).paginate(page=page, per_page=10)
return render_template('user_maintenance.html', users=users)
user_maintenance.html
<!-- 抜粋 -->
<nav class="my-2" aria-label="Page navigation">
<ul class="pagination justify-content-center">
<li {% if users.has_prev %}class="page-item"{% else %} class="page-item disabled"{% endif %}><a class="page-link" href="{% if users.has_prev %}{{ url_for('user_maintenance', page=users.prev_num) }}{% else %}#{% endif %}">前へ</a></li>
{% for page_num in users.iter_pages(left_edge=1, right_edge=1, left_current=1, right_current=2) %}
{% if page_num %}
{% if users.page == page_num %}
<li class="page-item disabled"><a class="page-link" href="#">{{ page_num }}</a></li>
{% else %}
<li class="page-item"><a class="page-link" href="{{ url_for('user_maintenance', page=page_num) }}">{{ page_num }}</a></li>
{% endif %}
{% else %}
<li class="page-item disabled"><a class="page-link" href="#">…</a></li>
{% endif %}
{% endfor %}
<li {% if users.has_next %}class="page-item"{% else %} class="page-item disabled"{% endif %}><a class="page-link" href="{% if users.has_next %}{{ url_for('user_maintenance', page=users.next_num) }}{% else %}#{% endif %}">次へ</a></li>
</ul>
</nav>
user_maintenance.html
<!-- 全コード -->
{% extends "base.html" %}
{% block content %}
<header id="page-header">
<div class="container my-3 py-3 bg-light">
<div class="row">
<div class="col-md-6 m-auto text-center">
<h1>ユーザー管理</h1>
</div>
</div>
</div>
</header>
<section id="menu">
<div class="container my-3 py-3 bg-light">
<div class="row">
<div class="col-md-3">
<a href="{{url_for('register')}}" class="btn btn-primary w-100">
ユーザー登録
</a>
</div>
</div>
</div>
</section>
<section id="list">
<div class="container my-3">
<div class="row">
<div class="col-md-9">
<div class="card">
<div class="card-header">
<h4>最新のユーザー</h4>
</div>
<table class="table table-striped">
<thead class="table-dark">
<tr>
<th>ID</th>
<th>ユーザー名</th>
<th>メールアドレス</th>
<th>管理者</th>
<th>ブログ投稿数</th>
<th>変更</th>
</tr>
</thead>
<tbody>
<!-- # 100 -->
<!-- {% for user in users %} -->
<!-- 103 ページネーション 現在ページの取得 -->
{% for user in users.items %}
<tr>
<!-- 本来は、DBから取得し全てのユーザー一覧を表示させる -->
<!-- def register():でセッションに保存したデーターを受け取る -->
<!-- <td>ID</td> -->
<td>{{ user.id }}</td>
<!-- <td>ユーザー名</td> -->
<!-- <td>{{session['username']}}</td> -->
<td>{{ user.username }}</td>
<!-- <td>メールアドレス</td> -->
<!-- <td>{{session['email']}}</td> -->
<td>{{ user.email }}</td>
<!-- <td>管理者</td> -->
<td>{{ user.administrator }}</td>
<td><a href="#">ブログ投稿数</a></td>
<td><a href="#" class="btn btn-secondary">
変更
</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
<!-- 104 ページネーション -->
<nav class="my-2" aria-label="Page navigation">
<ul class="pagination justify-content-center">
<li {% if users.has_prev %}class="page-item"{% else %} class="page-item disabled"{% endif %}><a class="page-link" href="{% if users.has_prev %}{{ url_for('user_maintenance', page=users.prev_num) }}{% else %}#{% endif %}">前へ</a></li>
{% for page_num in users.iter_pages(left_edge=1, right_edge=1, left_current=1, right_current=2) %}
{% if page_num %}
{% if users.page == page_num %}
<li class="page-item disabled"><a class="page-link" href="#">{{ page_num }}</a></li>
{% else %}
<li class="page-item"><a class="page-link" href="{{ url_for('user_maintenance', page=page_num) }}">{{ page_num }}</a></li>
{% endif %}
{% else %}
<li class="page-item disabled"><a class="page-link" href="#">…</a></li>
{% endif %}
{% endfor %}
<li {% if users.has_next %}class="page-item"{% else %} class="page-item disabled"{% endif %}><a class="page-link" href="{% if users.has_next %}{{ url_for('user_maintenance', page=users.next_num) }}{% else %}#{% endif %}">次へ</a></li>
</ul>
</nav>
{% endblock %}
0