Djangoのテンプレートを使ってみる

Djangoをインストールする

今回はDjangoのテンプレートの使い方について投稿します。

こんな方におすすめです。

前回は、DjangoでHello Worldを表示しました。

WindowsにAnacondaでPythonをインストール

テンプレート作成

discord

黄色の箇所が前回との差分です。

これが、テンプレートです。

ブラウザからリクエストを送ります。urlに書かれているパスをプロジェクトwebsiteのurls.pyで確認します。

urls.pyにはchatbot/urls.pyを参照するように記載します。

chatbot/urls.pyはchatbot/views.pyを参照します。

chatbotの関数でリクエストを受け取ってメッセージをテンプレートに渡します。

テンプレートにHTMLタグを記載します。

テンプレートの内容とchatbot/views.pyのメッセージを加工してブラウザに値を渡します。

chatbot/views.pyコーディング

前回も紹介した、chatbot/views.pyを改修します。

chatbot/views.pyコードを入力したらviewを修正します。このファイルはappを作成した時点で自動で作られます

    
from django.http.response import HttpResponse

def chatbot(request):
    return HttpResponse('Hello World!')
    
  

今回は下記のように修正します。

    
from django.shortcuts import render
from django.http.response import HttpResponse

def chatbot(request):
    d = {
        'message': 'viewから渡すメッセージです。',
    }
    return render(request, 'index.html', d)
    
  

website/setting.pyコーディング

website/setting.pyコーディングをします。

ディレクトリ構成は以下のとおりです。

    
website/
 ┣ chatbot/
  ┃  ┣ ・・・略・・・
  ┗ setting.py
    
  

website配下のsetting.pyを修正します。

    
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
    
  

'DIRS': [os.path.join(BASE_DIR, 'templates')],を追加します。

今回はwebsite配下にtemplateディレクトリを作成します。setting.pyにディレクトリのパスを追加することでテンプレートディレクトリとしてDjangoが認識します。

templates/index.htmlコーディング

プロジェクトのwebsiteにtemplateのフォルダを作成します。

    
website/
 ┣ chatbot/
  ┃  ┣ ・・・略・・・
  ┗ template/
    
  

テンプレートフォルダにindex.htmlのファイルを作成します。

    
website/
 ┣ chatbot/
  ┃  ┣ ・・・略・・・
  ┗ template/
      ┗ index.html
    
  

index.htmlの内容は以下の通りです。

    
<!DOCTYPE html>
<html>
  <head lang="ja">
    <meta charset="utf-8">
    <title>チャットボット</title>
  </head>
  <body>
  <h1>ブラウザで音声チャットボットつくるぞぉ!</h1>
  {{ message }}
  </body>
</html>
    
  

{{message}}にchatbot/views.pyで設定した値が表示されます。

まとめ

pythonのサーバを起動します。

コマンドラインでmanager.pyがあるファイルまで移動します。

    
website/
 ┣ chatbot/
  ┃  ┣ ・・・略・・・
  ┗ manager.py
    
  
    
cd D:\python_workspace\django\website
    
  

サーバを起動します。

    
python manage.py runserver
    
  

urlを入力します。

http://127.0.0.1:8000/chatbot/

django テンプレート表示

Djangoでテンプレートファイルを使ってみました。

コメント

0 件のコメント:

コメントを投稿

コメントをお待ちしています。