5.

djangoにおけるテンプレート名の重複について(同名のhtml)

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

template_name = 'index.html'

return render(request, template_name)

djangoにおいて上記の様に単にindex.htmlを指定するだけでは非常に危険です。

djangoは自動的にルートディレクトリおよびアプリケーションディレクトリ直下とtemplatesフォルダ内のテンプレート名を取得します。

もし仮に異なるアプリ間で同名のindex.htmlが存在すると、意図しないindex.htmlが読み込まれる可能性があります。

従ってテンプレート名を指定する場合はアプリケーション名込みで指定する必要があります。

 

まずテンプレートディレクトリの配置構造を以下の様にしましょう。

プロジェクト名/
    manage.py
    アプリケーション名/
        template/
            アプリケーション名/
                index.htm

少し冗長的ですが、静的ファイルのディレクトリ構造と同様にテンプレートも上記のような構造にする必要があります。

ビューからの呼び出しは以下の様に指定します。

template_name = 'calculator/index.html'

return render(request, template_name)

 

子ページ
子ページはありません
同階層のページ
  1. Templateの使用準備
  2. Templateの定義方法
  3. テンプレートの作成と共通化
  4. setting.pyにおけるテンプレートの設定
  5. テンプレートの名前の重複について
  6. 静的ファイルの読み込み
  7. if文
  8. テンプレートで定数を使用する方法
  9. aタグのhrefの記載方法

最近コメントのあったページ

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。