Home / Programming / Python / Django / Djangoメモ:templetesの設定

Djangoメモ:templetesの設定

※前提はこちらの続きです。

アプリをプロジェクトのsettings.pyに追記
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'kintai', #★
]

★ このようにINSTALLED_APPSの一番最後にアプリの名前を追記します。

アプリフォルダ直下にtempatesフォルダを作成
作成したtempatesフォルダの中にアプリと同じ名前のフォルダを作成

フォルダ構造:プロジェクト名>アプリ名>tempates>アプリ名

テスト用としてindex.htmlを作成

tempatesフォルダの中のアプリと同じ名前のフォルダに入れます
試しに以下をコーディングしてみましょう(なんでもOK)。

<! doctype html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>{{title}}</title> #★
</head>
<body>
    <h1>{{keymsg}}</h1> #★
    <p>{{msg}}</p> #★
</body>
</html>

★置き換えたい箇所を{{}}(二重ひげかっこ)で囲み、中に任意の文字を入れます。この文字が置き換わります。

views.pyの対象の関数にrenderを設定
from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    params = { 
        'title': '勤怠管理',   #★
        'keymsg': '成せばなる',
        'msg': 'とりまやってみよう' 
    }
    return render(request, 'kintai/index.html', params) #★★

★ テンプレファイルで書いた置き換え対象の文字を使います。例えば、titleとテンプレファイルに記載された箇所には勤怠管理という文字に置き換わる、という構図です。

★★ 第一引数はHttpRequestのインスタンスを指定、第二引数は対象のテンプレファイルを指定
尚、上記テンプレファイルのURLは、templatesフォルダ起点の書き方です
renderは、指定するテンプレファイルにデータ(ここではparams)を当て込んで返してね、という意味です。

ウェブサーバーで確認・完了

Check Also

Djangoメモ:既存データベースの初期化-migrationリセット

Djangoで当初データベース …