LoginSignup
3

More than 1 year has passed since last update.

posted at

updated at

Djangoを使ったWEBアプリケーションの開発【テンプレート追加編】

リクエスト処理編の続き

テンプレート

現状、/posts/へアクセスするとurls.pyが呼び出され、views.pyから「Hello, World!」を直接返して表示する処理を記載しています。ここでテンプレートを作成し、それを表示させるようにします。

テンプレートを追加

これからテンプレートを作成しviews.pyを書き換え、ルーティング→ビュー→テンプレートという処理に変更していきます。

まずは、アプリケーションフォルダ(今回は「posts」フォルダ)に「templates」フォルダを作成し、さらにその中にアプリケーションフォルダと同じ名前のフォルダを作成します。
※Djangoのルールとしてtemplatesフォルダ内にアプリケーションフォルダと同じ名前のフォルダが必要。

次にtemplates内のpostsフォルダにHTMLファイルを作成します。

index.html
<!DOCTYPE html>
<html lang="ja-jp" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <h2>テストページです。</h2>
  </body>
</html>

さらに、作成したHTMLファイルを表示するためviews.pyを修正します。

views.py
def index(request):
    #return HttpResponse("Hello, World!") ←ここをコメントアウト
    return render(request, 'posts/index.html') #新しく追加した行

こうすることで、views.pyが呼び出されたとき直接「Hello, World!」を返さず、templates内にあるpostsフォルダのindex.htmlを参照して返すことができます。
Djangoサーバーを立ち上げて「http://127.0.0.1:8000/posts/」で表示すると下記のようになります。
テンプレート.png

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3