昨天講了M,今天來聊T Templates吧⋯⋯
Django 的Templates 也和Flask 類似用{{ }} {% %}的語法,對應不同的操作功能
{{ variable }} 設定變數內容,並且套用到網頁上,例如My first name is {{ first_name }}. My last name is {{ last_name }}.
在網頁的設定接收到以下這樣的資料時, {'first_name': 'John', 'last_name': 'Doe'},
就會把first_name和last_name 二個變數值的value傳遞到所對應用變數內。最後輸出像
My first name is John. My last name is Doe.
此外來源如果是dict list 或是一個物件的屬性時加上.可做為查找資料的方式
{{ my_dict.key }}:用dict key 找value
{{ my_object.attribute }}:使用物件的屬性
{{ my_list.0 }}:使用list索引值,找對應的資料
{% tag %}
用在渲染對應用html 讓設計者不用每次每次都要輸入相同的html tag.
同時也可以使for 迴圈重複顯示某些資料。
官方範例如下
{% extends "base_generic.html" %}
{% block title %}{{ section.title }}{% endblock %}
{% block content %}
<h1>{{ section.title }}</h1>
{% for story in story_list %}
<h2>
<a href="{{ story.get_absolute_url }}">
{{ story.headline|upper }}
</a>
</h2>
<p>{{ story.tease|truncatewords:"100" }}</p>
{% endfor %}
{% endblock %}
filters
對應變數顯示的時候我們可以運用這個功能達成格式化顯示的目的。
Day24 只剩六天