Template SyntaxError ~Could not parse the remainder:~が出たときの対処[Python/Django]

この記事は約2分で読めます。

DjangoBrothersのチュートリアルで勉強しています。

今回はTemplate SyntaxErrorが発生したので内容をメモしておきます。

エラーの内容

Webでメモを管理するというチュートリアルがあります。

そこで一度作成したメモを後から編集する機能を追加しようとして、

このようなエラーが発生しました。

こちらが誤ったコード

正しくはこちら

parseについて

エラーの内容には”Could not parse the remainder“とあったのですが、parse(パーサ)というものが何かわからなかったので少し調べてみました。

parseとは構文を意味するものです。

parser(パーサ)と呼ばれるものが構文を解析し、プログラムで扱うことができる構造に変換する機能をもつようです。

今回はブラウザがhtmlファイルを表示するためにhtmlのタグを解析しようとしていたところ、”%”が含まれていたために解析することができないというエラーだったようです。

{{}} これで囲まれているものは%で囲むものだと勘違いしていたのですが、

Djangoのドキュメントを見るに、変数は%で囲まずに記述し、テンプレート上で処理を制御するタグについては%で囲むのが正しい様子。

参考

Django テンプレート言語

Django:組み込みタグとフィルタの一覧

独学は限界?なら無料のスクールを受講しよう

デバッグを続けていると、エラーにうんざりしてしまうこともありますよね。

やはり独学では学習のモチベーションの維持が難しい面もあります。

加えて効率が良いかと言われれば必ずしもそうでもありません。

「何事にも先達はあらまほしきことなり」という言葉がありますが、

何かを学習するときには詳しい人に教えてもらうことが近道であることは多いです。

スクールというと高額な費用を請求されるイメージがありますが、

教材費以外は無料のスクールが、実は存在します。

無料で説明会も行われているので、参加してみると見えてくるものあるかもしれません。

コメント