TECH I.S.

Django テンプレート変数


テンプレート変数

Djangoテンプレートでは、変数を{{ }}括弧内に入れることで変数をレンダリングできます。

templates/template.html:
<h1>Hello {{ firstname }}, how are you?</h1>
実行例(開発準備中) »

ビューで変数を作成

上の例の変数firstnameは、ビューを介してテンプレートに送信されました。

views.py:
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'firstname': 'Linus', } return HttpResponse(template.render(context, request))

実行例(開発準備中) »

上のビューでわかるように、contextという名前のオブジェクトを作成してデータを入力し、それをtemplate.render()関数の最初のパラメーターとして送信します。


テンプレートに変数を作成する

{% with %}テンプレートタグを使用して、テンプレート内に変数を直接作成することもできます。

この変数は、{% endwith %}タグが表示されるまで使用できます。

templates/template.html:
{% with firstname="Tobias" %} <h1>Hello {{ firstname }}, how are you?</h1> {% endwith %}
実行例(開発準備中) »

テンプレートタグについては、次の章で詳しく説明します。


モデルからのデータ

上記の例は、テンプレートで変数を作成して使用する簡単な方法を示しています。

通常、テンプレートで使用する外部データのほとんどは、モデルから取得されます。

前の章でMemberというモデルを作成しました。このチュートリアルの次の章の多くの例でこれを使用します。

Memberモデルからデータを取得するには、views.pyファイルにデータをインポートし、ビューでそこからデータを抽出する必要があります。
members/views.py:
from django.http import HttpResponse, HttpResponseRedirect from django.template import loader from .models import Member def testing(request): mymembers = Member.objects.all().values() template = loader.get_template('template.html') context = { 'mymembers': mymembers, } return HttpResponse(template.render(context, request))

これで、テンプレートでデータを使用できます。

templates/template.html:
<ul> {% for x in mymembers %} <li>{{ x.firstname }}</li> {% endfor %} </ul>
実行例(開発準備中) »

Djangoテンプレートタグを使用します{% for %}メンバーをループします。

テンプレートタグについては、次の章で詳しく説明します。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細