| この記事の要点 |
|---|
|
テンプレートの基本
アプリケーションディレクトリ直下にtemplatesディレクトリを作成しましょう。
templatesディレクトリ内に以下のindex.htmlを作成します。
|
{% if item_list %} {% for item in item_list %} {% endfor %}
{% else %} No item. {% endif %} |
templateに値を渡すviewを作成しましょう。
アプリケーションディレクトリ直下のviews.pyに以下の記述をしましょう。
|
from django.shortcuts import render def index(request): item_list = ['a', 'b', 'c'] template = loader.get_template('index.html') context = { 'item_list': item_list, } return render(request, 'index.html', context) |
indexにリクエストするとテンプレートを表示することが出来ます。
テンプレートの共通化
ヘッダーやフッターといったテンプレートの共通部分を実装するには以下のようにします。
以下、共通部分となるbase.htmlです。
|
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>{% block title %}{% endblock title %}</title> </head> <body> {% block content %} {% endblock %} </body> </html> |
独自実装の部分は
{% block content %}
{% endblock %}
となります。
{% block title %}{% endblock title %}
は後述します。
以下、独自実装部分のテンプレートです。
|
{% extends "base.html" %} {% block title %}ページタイトル{% endblock title %} {% block content %} <form method="post"> {% csrf_token %} ... </form> {% endblock %} |
extendsで共通テンプレートを読み込んでblock content内に独自実装部分を記載します。
ページごとにタイトルを変える必要があるので、block titleに対してページのタイトルを設定しましょう。
includeを使用することで個別にテンプレートを読み込むことが出来ます。
例えば以下の様にヘッドタグを部品化しましょう。
|
<head> {% include "headtag.html" %} <title>{% block title %}{% endblock title %}</title> </head> |
以下、headtag.htmlの記載例。
|
{% load static %} <meta charset="UTF-8">
|
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38