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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2420閲覧

【Django】TemplateDoesNotExist at /となりindex.htmlが表示されない

yusuke22

総合スコア8

Django

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/10/15 13:11

Python・Django初心者です。どうかお助けいただけますと幸いです。
下記の書籍をもとに勉強しているのですが、「Hello, World」を表示させるトップページにアクセスしたところ、

TemplateDoesNotExist at /
index.html
となりページが表示されません。

■動かして学ぶ! Python Django開発入門
https://amzn.to/3vdlf5M

テキストのサンプルコードをコピペしても実施できず、調べても同じような方が見当たらなかったので質問させていただきました。
どこが間違っているのかご教示いただくことは可能でしょうか?

【環境】
macOS Big Sur ver 11.6
Python 3.7.12
Django 2.2.2

【フォルダ構成】
イメージ説明

【エラー内容】

Request Method: GET Request URL: http://127.0.0.1:8000/ Django Version: 2.2.2 Exception Type: TemplateDoesNotExist Exception Value: index.html Exception Location: /Users/name/venv_private_diary/lib/python3.7/site-packages/django/template/loader.py in select_template, line 47 Python Executable: /Users/name/venv_private_diary/bin/python3 Python Version: 3.7.12 Python Path: ['/Users/name/venv_private_diary/bin/private_diary', '/Users/name/venv_private_diary/bin/private_diary', '/usr/local/Cellar/python@3.7/3.7.12_1/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/usr/local/Cellar/python@3.7/3.7.12_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/usr/local/Cellar/python@3.7/3.7.12_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Users/name/venv_private_diary/lib/python3.7/site-packages'] Server time: 金, 15 10月 2021 21:42:09 +0900

下記に編集をしたソースコードを記載いたします。

setting.py

python

1TEMPLATES = [ 2 { 3 'BACKEND': 'django.template.backends.django.DjangoTemplates', 4 'DIRS': [], 5 'APP_DIRS': True, 6 'OPTIONS': { 7 'context_processors': [ 8 'django.template.context_processors.debug', 9 'django.template.context_processors.request', 10 'django.contrib.auth.context_processors.auth', 11 'django.contrib.messages.context_processors.messages', 12 ], 13 }, 14 }, 15]

private_diary/urls.py

python

1from django.contrib import admin 2from django.urls import path, include 3 4urlpatterns = [ 5 path('admin/', admin.site.urls), 6 path('', include('diary.urls')), 7]

diary/urls.py

python

1from django.urls import path 2 3from . import views 4 5 6app_name = 'diary' 7urlpatterns = [ 8 path('', views.IndexView.as_view(), name="index"), 9]

views.py

python

1from django.views import generic 2 3 4class IndexView(generic.TemplateView): 5 template_name = "index.html"

index.html

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>トップページ</title> 6</head> 7<body> 8 <h1>Hello World</h1> 9</body> 10</html>

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

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

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

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

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

guest

回答1

0

ベストアンサー

公式ドキュメンテーションにもある通り、アプリケーションごとにテンプレートを配置するディレクトリは、templateではありません。

テンプレート配置するディレクトリは、templatesです。(複数形)

※Googleブックスで当該書籍のプレビュー範囲を検索する限り、書籍内でもtemplatesになっています

投稿2021/10/15 13:44

attakei

総合スコア2738

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

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

yusuke22

2021/10/15 14:30

ご回答ありがとうございます。 templatesに変更したところ成功いたしました…! 以降、ファイル名も確認します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問