Django テンプレート 使用 #3 List Dictの表示

 

{{DZ_TITLE}}

Djangoのテンプレートで、ListやDictを表示する方法です。

今回の話のベースは以下の資料を実施した直後という前提で書きます。

Django テンプレート 使用 #1
Django テンプレート 使用 #1

まずはViewでListとDict型を返す定義

polls/views.pyを以下のように編集。

from django.http import HttpResponse
from django.template import loader

def index(request):
    template = loader.get_template('polls/index.html')
    context = {
        'list_data' : ['list1','list2','list3'],
        'dict_data' : {'dict1':'data1','dict2':'data2','dict3':'data3'}
    }
    return HttpResponse(template.render(context, request))

テンプレートを編集


{% if hoge_data %}
ほげでーたが見つかりました<p/>
{% else %}
ほげでーたが見つかりませんでした</p>
{% endif %}

{% if list_data %}
  <ul>
  {% for data in list_data %}
    <li>{{data}}
  {% endfor %}
</ul>
{% endif %}

{% if dict_data.dict1 %}
  dict_data.dict1 = {{ dict_data.dict1 }} <p/>
{% endif %}

{% if dict_data.dict2 %}
  dict_data.dict2 = {{ dict_data.dict2 }} <p/>
{% endif %}

{% if dict_data.dict3 %}
  dict_data.dict3 = {{ dict_data.dict3 }} <p/>
{% endif %}

if ~ endif構文を使って全て値があるかチェックしていますが、必ず渡ってくる値ならチェックする必要はありません。
今回はテストで、こんな感じで書きますよ…と、少し過剰に書きました。

結果

こんな感じで表示されます。

ほげでーたが見つかりませんでした
list1
list2
list3
dict_data.dict1 = data1
dict_data.dict2 = data2
dict_data.dict3 = data3

関連記事

Django 目次- Python
Django 目次 - Python

おすすめ記事

Django Adminのパスワードを忘れたら? - Python
Django Adminのパスワードを忘れたら? - Python
Django 目次 - Python
Django 目次 - Python
Django Ajaxで非同期通信
Django Ajaxで非同期通信
Django エラー『TemplateDoesNotExist』対策
Django エラー『TemplateDoesNotExist』対策
Django チーター#1 - Python
Django チーター#1 - Python
Django テンプレート 使用 #1
Django テンプレート 使用 #1
Supponsered

外部サイト ↓プログラムを学んでみたい場合、学習コースなどもおすすめです!

Title : Photo by Steve Johnson on Unsplash

Comments

comments powered by Disqus