2 flat logo on transparent 256
2018-07-23

TemplateDoesNotExist |Djangoで発生するエラー|の解説と解消方法

Anger 32132113

Djangoでページやフォームを作成した後、TemplateDoesNotExist atというエラーが発生するので、 エラーの解説と解消方法について記載します。

そもそもどういったエラーか?

ページを表示しろと記載されているが、表示するページが存在しない場合に発生するエラーです。

例えば以下のようなview.pyで登録フォームを設定するメソッドがあったとしてます。

def create_category(request):
    form = CategoryCreateForm(request.POST or None)
    if request.method == 'POST' and form.is_valid():
        form.save()
        return redirect('polls:category')

    context = {
        'form': form
    }

    #'polls/category_form.htmlを表示する処理
    return render(request,'polls/category_form.html',context)

このcreatecategoryメソッドを呼び出した際に、categoryform.htmlが存在しない場合は以下のようなエラーが発生します。

django.template.exceptions.TemplateDoesNotExist: polls/category_form.html

上記の場合はcategory_form.htmlというページを生成していなかったか、指定したページの名前に誤りがあるなどの理由で エラーが発生しています。そのためページの指定を正しく行えばエラーが解消されます。

ちなみにRuby On RailsでいうところのTemplate is missing エラーと同様です。

その他関連記事

Djangoでページを追加し表示する|初心者・独学者向け入門コンテンツ

DjangoとPython3でMysqlを利用する|初心者・独学者向け入門コンテンツ

Python3初心者向け|無料で使えるIDE PyCharmの紹介

Python3で画像をスクレイピングしてローカルに保存する|BeautifulSoupを利用

初心者・独学者向け入門コンテンツ|対話モードでPythonを実行する

PythonでエラーSyntaxError: Non-ASCII character '\xe3' in

前の記事
次の記事