• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Django / Djangoのテンプレートでビューから渡された変数を表示する方法詳細~リスト、辞書など~

Djangoのテンプレートでビューから渡された変数を表示する方法詳細~リスト、辞書など~

1 Djangoのビューからテンプレートに値を渡す方法
2 関連記事

 

  • テンプレートでビューから渡された変数を表示する
  • リスト型の変数のインデックスを指定して一部を表示
  • リスト型の変数をループさせる
  • 辞書型の変数のキーを指定して表示
  • 辞書型の変数をitemsメソッドでループさせキーと値を取り出す

など、Djangoのテンプレートの使い方について、詳細に解説しています。

Djangoのビューからテンプレートに値を渡す方法

以前の記事でテンプレートファイルの配置先ディレクトリとURLマッピングについて記載したが、今回はビューで作成した変数をテンプレートファイルに渡して表示する方法を説明する。

ビューに文字列、数値を渡す場合にはrenderでcontext=として記載する。

(TEMPLATE_DIRの設定はこちら)

1: 文字列、数値型をテンプレートに渡して表示

  • views.pyに記述する内容
from django.shortcuts import render

def index(request):
    name = 'Taro'
    age = 20
    return render(request, 'firstapp/index.html', context={
            'var_name': name, # 変数name(Taro)の値をvar_nameという名前でテンプレートに送る
            'var_age': age,# 変数age(20)の値をvar_nameという名前でテンプレートに送る
        }
    )
     #TEMPLATE_DIR/firstapp/index.htmlを表示する。contextに設定した変数を値をtemplateに渡す。

 

  • TEMPLATE_DIR/firstapp/index.htmlでviews.pyから渡された値を表示する。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>First App</title>
    </head>
    <body>
        name: {{ var_name }}, age: {{ var_age }}
    </body>
</html>

 

djangoを起動して、urlでアクセスすると以下のように表示される。

2: リスト型をテンプレートに渡して表示

リスト型でもテンプレートに値を渡して表示することができる。

  • views.pyに記述する内容
from django.shortcuts import render

def index(request):
    fruits = ['apple', 'lemon', 'grape']# リストでfruits変数を作成
    return render(request, 'index.html', context={
        'fruits': fruits, # リスト型のfruitsをテンプレートに送る
    })

 
次に、テンプレートで以下のように表示する。

  • index.htmlに記述する内容
{{ fruits }}<!-- リストの内容['apple', 'lemon', 'grape'] が表示 -->
{{ fruits.1 }} <!-- indexが1の値(lemon)が表示される-->
{% for fruit in fruits %} <!-- リストをループさせる -->
    <p>{{ fruit }}</p> <!-- リストの中身を1つずつ表示する -->
{% endfor %}

3: 辞書型をテンプレートに渡して表示

辞書型でもテンプレートに値を渡して表示することができる。
.キー名として、辞書型の各値にキーを指定してアクセスすることができる。
また、ループ文とitemsメソッドを用いることで、キーとバリューをそれぞれ取り出して表示することもできる。

  • views.pyに記述する内容
from django.shortcuts import render

def index(request):
    user = { # 辞書型で変数を定義する
        'name': 'Taro',
        'age': 20,
    }
    return render(request, 'index.html', context={
        'user': user, # 辞書型の変数を渡す
    })

 

  • index.htmlに記述する内容
{{ user.name }}<!-- userのnameにアクセス(Taroと表示) -->
{{ user.age }}<!-- userのageにアクセス(20と表示) -->

{% for key, value in user.items %} <!-- userをループして、キーとバリューをkey, valueに入れる -->
    <p>{{key}} - {{value}}</p><!-- name - Taro, age - 20を表示 -->
{% endfor %}

{% if 'name' in user %}<!-- キーnameがuserに存在するかどうか -->
    <p>nameはuserに存在します</p>
{% endif %}

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する
FlaskでFormを用いてPOSTリクエストを行い、送信さ…
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…

Primary Sidebar

人気記事

  • 1
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 2
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 3
    Python未経験だが、フリーランスの案件に採用さ…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 Djangoのビューからテンプレートに値を渡す方法
2 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Django講座
【Udemy】Django入門講座(0からDjangoを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model, Cla...
詳細 ▶

Footer

利用規約