質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

HTMLのIf文エラーへの対処

kakuda306
kakuda306

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1回答

0グッド

0クリップ

972閲覧

投稿2018/12/24 05:35

編集2018/12/24 05:42

HTMLのEndifに関するエラーへの対処

初めまして。私は現在Python及びTensorFlowを用いて、個人の趣味で画像認識のWebアプリを開発している者なのですが、実際に以下のWeb実行用ファイルを実行すると以下のエラーメッセージが表示されました。

発生している問題・エラーメッセージ

File "D:\PycharmProjects\Tensorflow\SUPERGTgazouhanbetu\templates\index.html", line 502, in template {{result[0][15]['name']}}:{{result[0][15]['rate']}}%<br> </p> </div> {% endif %} <!-- <p>{{result}}</p> --> {% elif result[0][0]['label'] == NULL %} <div class="col-md-12"><h2 style="margin-left:10px;">画像をアップロードしてください</h2></div> <div class="col-md-12" style="margin-top:10px; margin-bottom:20px;"> <form action="/post" method="post" class="form-inline" enctype = "multipart/form-data"> <input type = "file" name = "file" /> <button type="submit" class="btn btn-primary" style="margin-top:5px;">物体の検出を開始します</button> jinja2.exceptions.TemplateSyntaxError: Unexpected end of template. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'.

該当のソースコード

該当ソースコードは以下の通りです。(エラー位置は末尾のほうです。「(←ここがエラー発生個所です。)」と書かれている場所です)

HTML

1 {% extends "layout.html" %} 2 {% block content %} 3 <div class="form"> 4 <div class="container"> 5 <div class="row"> 6 <div class="col-md-12"> 7 <p style="margin-left:15px;"> 8 AIが物体を検出します。 9 </p> 10 {% if result %} 11 {% if result[0][0]['rate'] > 70 %} 12 {% if result[0][0]['label'] == 0 %} 13 <h2 style="margin-left:10px;">「これは<span class="red">A</span>の確率が<span class="red">{{result[0][0]['rate']}}</span>%です。<br>」</h2> 14 <h2 style="margin-left:10px;">「なお、Aは(説明のため省略)」</h2> 15 <div class="col-md-7"> 16 <img src={{result[1]}} class="detect_img"> 17 </div> 18 <div class="col-md-5"> 19 <p class="logo_container"> 20 <img src='./static/images/A.jpg' class="logo"> 21 </p> 22 <p><img src={{result[2]}} class="cut_image"></p> 23 <p class="detail_container"> 24 <解析詳細><br> 25 {{result[0][0]['name']}}:{{result[0][0]['rate']}}%<br> 26 {{result[0][1]['name']}}:{{result[0][1]['rate']}}%<br> 27 {{result[0][2]['name']}}:{{result[0][2]['rate']}}%<br> 28 {{result[0][3]['name']}}:{{result[0][3]['rate']}}%<br> 29 {{result[0][4]['name']}}:{{result[0][4]['rate']}}%<br> 30 {{result[0][5]['name']}}:{{result[0][5]['rate']}}%<br> 31 {{result[0][6]['name']}}:{{result[0][6]['rate']}}%<br> 32 {{result[0][7]['name']}}:{{result[0][7]['rate']}}%<br> 33 {{result[0][8]['name']}}:{{result[0][8]['rate']}}%<br> 34 {{result[0][9]['name']}}:{{result[0][9]['rate']}}%<br> 35 {{result[0][10]['name']}}:{{result[0][10]['rate']}}%<br> 36 {{result[0][11]['name']}}:{{result[0][11]['rate']}}%<br> 37 {{result[0][12]['name']}}:{{result[0][12]['rate']}}%<br> 38 {{result[0][13]['name']}}:{{result[0][13]['rate']}}%<br> 39 {{result[0][14]['name']}}:{{result[0][14]['rate']}}%<br> 40 {{result[0][15]['name']}}:{{result[0][15]['rate']}}%<br> 41 </p> 42 </div> 43 {% elif result[0][0]['label'] == 1 %} 44 (繰り返しのため中略) 45 {% elif result[0][0]['label'] == 15 %} 46 <h2 style="margin-left:10px;">「<span class="red">どれにも当てはまらないよう</span>です。」</h2> 47 <div class="col-md-7"> 48 <img src={{result[1]}} class="detect_img"> 49 </div> 50 <div class="col-md-5"> 51 <p style="margin-top:70px;"> 52    What is this?<br> 53 <img src={{result[2]}} class="cut_image"></p> 54 <p class="detail_container"> 55 <解析詳細><br> 56 {{result[0][0]['name']}}:{{result[0][0]['rate']}}%<br> 57 {{result[0][1]['name']}}:{{result[0][1]['rate']}}%<br> 58 {{result[0][2]['name']}}:{{result[0][2]['rate']}}%<br> 59   {{result[0][3]['name']}}:{{result[0][3]['rate']}}%<br> 60 {{result[0][4]['name']}}:{{result[0][4]['rate']}}%<br> 61 {{result[0][5]['name']}}:{{result[0][5]['rate']}}%<br> 62 {{result[0][6]['name']}}:{{result[0][6]['rate']}}%<br> 63 {{result[0][7]['name']}}:{{result[0][7]['rate']}}%<br> 64 {{result[0][8]['name']}}:{{result[0][8]['rate']}}%<br> 65   {{result[0][9]['name']}}:{{result[0][9]['rate']}}%<br> 66 {{result[0][10]['name']}}:{{result[0][10]['rate']}}%<br> 67 {{result[0][11]['name']}}:{{result[0][11]['rate']}}%<br> 68 {{result[0][12]['name']}}:{{result[0][12]['rate']}}%<br> 69   {{result[0][13]['name']}}:{{result[0][13]['rate']}}%<br> 70 {{result[0][14]['name']}}:{{result[0][14]['rate']}}%<br> 71 {{result[0][15]['name']}}:{{result[0][15]['rate']}}%<br> 72 </p> 73 </div> 74 <!-- <p>{{result}}</p> --> 75 {% elif result[0][0]['label'] == NULL %}                  (←ここがエラー発生個所です。) 76 <div class="col-md-12"><h2 style="margin-left:10px;">画像をアップロードしてください</h2></div> 77 <div class="col-md-12" style="margin-top:10px; margin-bottom:20px;"> 78 <form action="/post" method="post" class="form-inline" enctype = "multipart/form-data"> 79 <input type = "file" name = "file" /> 80 <button type="submit" class="btn btn-primary" style="margin-top:5px;">物体検出を開始します</button> 81 </form> 82 </div> 83 </div> 84 </div> 85 </div> 86</div> {% endblock %}

試したこと

インデントなどの調整も行いましたが、同じエラーが出ます。
また、このコードは基本的に顔認識のWebアプリを開発している方のコードを参考(というかコードをほとんど引用)にしているので、Jinja2のことについてはよくわかりません。
上記のエラーに対してどう対処すればいいのか教えていただければ幸いです。
参考元:https://qiita.com/AkiyoshiOkano/items/dc19bffc88c549393699

補足情報(FW/ツールのバージョンなど)

使用しているソフトウェア:Pycharm(Community Edition 2018.1.4)で、実行も同様のソフトウェアを使用しています。
OS:Windows10

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

ベストアンサー

Pythonの文法とは異なりjinja2では{% elif ~ %}の後には{% endif %}行が必要です。
処理詳細が不明なので、具体的にどのあたりに挿入すべきかはご自身で判断ください。

投稿2018/12/24 06:32

can110

総合スコア36299

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

kakuda306

2018/12/27 05:25

回答ありがとうございました。 Jinja2については初めて触れたので混乱しているところもありましたが、他の部分に{% endif %}が入っていなかった模様で、修正したところ無事に動作することができました。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。