Django的前端頁面顯示

從後端獲取數據,在前端頁面顯示出來是Django交互的最後一步。

Django遵從的是以下原理:

from django.template import Context,Template
t = Template("{{ name }} is welcome")
c = Context( { "name" : "John" } )
t.render(c)

>>>u"John is welcome"

搬到頁面上,即在後端傳遞c,在前端顯示t,用c中的數據渲染t。

這一章主要說前端顯示:

最簡單的就是上面那種,一個{{}} 傳遞一個變量。

除此之外,可以用一些簡單邏輯:

1.if語句:

{% if  name != 'John' %}
……
{% else %}
……
{% endif %}


沒有elif語句,如果多個條件,需要不斷嵌套。

{% if  name != 'John' %}
……
{% else %}
 
	{% if  name != 'Harry' %}
	……
	{% else %}
	……
	{% endif %}
{% endif %}

另外,在if中可以使用and、or來深化邏輯。但是一行之中and、or只能出現一種,不可混用。不過每一種之間可以使用多個,比如多個and、多個or。

對於判斷兩個變值是否相等,可以使用下面的語句:

{% if equal A B %}
……
{% else %}
……
{% endifequal %}
A、B可以爲字符串(單、雙、無引號均可)、整數、列表、小數,不可以爲列表、字典、布爾類型
還有一些if語句要和for語句結合使用,放在for介紹中說明。


2.for:

基本用法:

{% for item in list %}
……
{% endfor %}

空表檢測:

執行循環前,先檢測列表大小,爲空時給予提示。

{% for item in list %}#{% for item in list reversed%}表示逆向迭代
……
{% empty %}
…… #empty時執行這裏操作
{% endfor %}

{% if list%}
	{% for item in list %}
	……
	{% endfor %}
{% else %}
…… #空時執行這裏
{% endif %}
在循環中,可以根據循環次數做相應操作:

可以在if語句中使用下列變量進行操作:

forloop.counter 計數

forloop.revcounter 剩餘數

forloop.first 第一次迭代

forloop.last 最後一次迭代

forloop.parentloop當前循環的上一級循環的forloop對象

forloop.parentloop.first./counter/last等

 
3.comment

在前端的python語句裏可以使用註釋:

單行註釋:{# ……#}

多行註釋:

{% comment %}
……
{% endcomment %}

4.過濾器 {{ date | date:"F j,Y"}} 從後臺讀進來的date值,可以通過指定格式的過濾器修改樣式。F-moth j-day Y-year

其它過濾器還有:

| lower 變小寫

| first | upper 首字母大寫(類似於linux的通道)

| length 變量長度

| truncatewords:"30" 變量前30個詞


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章