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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Q&A

解決済

2回答

393閲覧

Heroku上で"Template Does Not Exists"

RyuSA

総合スコア131

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

0クリップ

投稿2018/03/01 06:46

発生している現象・エラー

お世話になっています。
Djangoアプリの開発中、Herokuにデプロイした際にテンプレートファイルが見つからないエラーが発生しました。ローカル環境では起きたことのない現象で、Heroku上でのみ、このエラーが発生します。

どのようにすれば解決できそうか、アイデアを教えてください。

該当のソースコード

ディレクトリの構造です。

project/
├ project/
│ └ setting.py
├ myapp/
│ └ templates/
│   │ base.html
│   └ myapp/
│      └ index.html
├ manage.py
└ .git/

python

1# setting.pyのテンプレート部分 2 3BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 4TEMPLATES = [ 5 { 6 'BACKEND': 'django.template.backends.django.DjangoTemplates', 7 'DIRS': [os.path.join(BASE_DIR, "templates")], 8 'APP_DIRS': True, 9 'OPTIONS': { 10 # デフォルトと同じため省略 11 ], 12 }, 13 }, 14]

html

1<!-- index.html --> 2{% extends 'base.html' %} 3{% block content %} 4<h1>This is block content</h1> 5{% endblock %}

試したこと

setting.py中のTEMPLATES.DIRSを['templates']に変更してみても同じエラーが発生しました。

エラーメッセージ

Django tried loading these templates, in this order: Using engine django: ・ django.template.loaders.filesystem.Loader: /app/templates/base.html (Source does not exist) ・ django.template.loaders.app_directories.Loader: /app/myapp/templates/base.html (Source does not exist)

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

  • Django 2.02
  • Python 3.6.5

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

単純でした。テンプレートに'base.html 'と半角スペースが混ざっていました……orz

投稿2018/03/05 03:25

RyuSA

総合スコア131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

軽く調べて見ただけの話ですが、herokuでDjangoを動かすには、特別な設定をする必要があるようです。
もし確認されてなかったら一応確認して見てはいかがでしょう。

https://devcenter.heroku.com/articles/deploying-python#django-applications-on-heroku

投稿2018/03/01 15:50

mtb_beta

総合スコア181

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問