1. 程式人生 > >Django 學習筆記(五)模板標籤

Django 學習筆記(五)模板標籤

關於Django模板標籤官方網址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/

1.IF標籤

Hello World/views.py

 1 from django.shortcuts import render
 2 
 3 class Person(object):
 4     def __init__(self,name,age,sex):
 5         self.name=name
 6         self.age=age
 7         self.sex=sex
 8 
 9     def say(self):
10 return "I'm %s." %self.name 11 12 def index(request): 13 #傳入普通變數 14 #傳入資料為 html 中的變數:views中的變數 15 #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'}) 16 17 #傳入字典變數 18 person = {'name':'Lee','age':20,'sex':'male'} 19 #傳入列表變數 20 book_list =['
Python','Java','C'] 21 #book_list =[] 22 #傳入物件變數 23 #person=Person('Lucky',18,'female') 24 return render(request,'index.html',{'title':'Welcome','person':person,'book_list':book_list})
views.py

(1)if ...elif...else...endif

Hello World/temlplates/index.html

{% if book_list.0 == 'Java' %}
 第一本書是Java
{% elif book_list.0 == 'Python' %}
第一本書是Python
{% else %}
第一本書是C
{% endif %}
View Code

結果為:第一本書是Python

(2)if...and...or...not...endif

注意:and和or可以同用,但是and的優先順序比or高

Hello World/temlplates/index.html

{% if book_list or person %}
存在book_list 或者 person
{% endif %}

{% if book_list and person %}
book_list 和 person都存在
{% endif %}

{% if book_list and not person %}
存在book_list 不存在person
{% endif %}
View Code

結果為:存在book_list 或者 person、book_list 和 person都存在、(空)

(3)if符號運算(==、!=、>、>=、<=、<、in、not in、is、is not)

if is XX True這個是當且僅當XX為真,這個暫時理解不了

{% if book_list.0 == 'Python' %}
1.第一本書是Python
{% endif %}

{% if book_list.0 != 'Python' %}
2.第一本書不是Python
{% endif %}

{% if person.age <= 20  %}
3.這個人的年齡沒超過20
{% else %}
4.這個人的年齡超過20
{% endif %}

{% if  'Python' in book_list %}
5.Python在book_list列表裡
{% endif %}

{% if  'Py' not in book_list %}
6.Py在book_list列表裡
{% endif %}

{% if  book_list.4 is not True %}
7.book_list.4不存在
{% endif %}

{% if  book_list is not None%}
8.book_list列表存在
{% endif %}
View Code

結果:1、 3、 5、 6、7、8能夠顯示

2.For標籤

(1)列表for迴圈

{% for book in book_list %}
{{book}}
{% endfor %}

結果:Python Java C 

(2)字典for迴圈

{% for k,v in person.items %}
{{k}}:{{v}}
{% endfor %}

結果:sex:male name:Lee age:20

(3)for...empty  (在views.py中沒有定義book_list2)

{% for book in book_list2 %}
{{book}}
{% empty %}
沒有這個列表或者該列表為空
{% endfor %}

結果:沒有這個列表或者該列表為空

(4)forloop

forloop.counter 迴圈記數,預設1開始

forloop.counter0 迴圈記數,從0開始

forloop.revcounter 迴圈到記數,預設1結束

forloop.revcounter0 迴圈記數,到0結束

forloop.first 第一次迴圈bool值為True,一般與if連用

forloop.last 最後一次迴圈bool值為True,一般與if連用

forloop.parentloop 迴圈巢狀中對上一層迴圈的操作

{% for k in person %}
{%if forloop.first %}
 這是第一次迴圈
{% elif forloop.last%}
這是最後一次迴圈
{% else %}
{{k}}
{% endif %}
{% endfor %}

結果:這是第一次迴圈 name 這是最後一次迴圈 

相關推薦

Django 學習筆記模板標籤

關於Django模板標籤官方網址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF標籤 Hello World/views.py 1 from django.shortcuts import render 2 3

Django 學習筆記模板導入

文件 文件中 訪問 from lang sts class rom 網頁 本章內容是將一個html網頁放進模板中,並運行服務器將其展現出來。 平臺:windows平臺下Liunx子系統 目前的目錄: hello ├── manage.py ├── hello │ ├─

Django 學習筆記模板匯入

本章內容是將一個html網頁放進模板中,並執行伺服器將其展現出來。 平臺:windows平臺下Liunx子系統 目前的目錄: hello ├── manage.py ├── hello │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └

Django 學習筆記模板變數

關於Django模板變數官方網址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.傳入普通變數 在hello/Hello World/temlplates/index.html中,修改html檔案 <!DOCTYPE h

flask學習筆記--模板中使用url_for

歡迎加入知了課堂,學習flask之前在檢視函式中使用url_for,實現從檢視函式中跳轉到另一個url。現在我為大家演示如何在模板中使用url_for,實現在頁面點選文字,跳轉至另一個頁面。其實很簡單一、方法1.首先通過檢視函式,渲染出一個頁面@app.route('/')d

Django 筆記模板標籤 ~ 自定義過濾器

模板標籤: 標籤在渲染的過程中提供任意的邏輯 語法: 由{% ... %} 和 {% end... %}   常用標籤:      with:類似取別名     模版繼承: Django模版引擎中最強大也是最

Latex學習筆記——Latex模板學習總結

前言:         最近參加了數學建模大賽,整個論文都是使用Latex工具排版的,至此感覺到了它的魅力。但是由於論文模板是主辦方提供的,在排版格式定義檔案(.cls檔案)中已經設定好了所有環境,因此用起來還是很簡單的。比賽結束以後,打算學習模板的製作過程,因此研讀了該大

數據結構學習筆記 樹的創建和遍歷

一個 後序遍歷 for -1 堆棧 nor ext cnblogs 復制 創建(先序創建和根據先序和中序進行創建)和遍歷(先序遍歷、中序遍歷、後序遍歷、非遞歸堆棧遍歷、層次遍歷):    package tree; public class XianCreateTree

最優化學習筆記牛頓法及擬牛頓法

div size -a article fonts alt water src jsb 最優化學習筆記(五)牛頓法及擬牛頓法

javascript學習筆記:異常捕獲和事件處理

log 類型 按鈕 輸入 button lan yellow logs 代碼 異常捕獲 Try{   發生異常的代碼塊 }catch(err){   異常信息處理 } 1 <!DOCTYPE html> 2 <html> 3 <head

Django學習筆記——安裝,創建項目,配置

lvs csv oot url root import 方式 配置文件 函數 瘋狂的暑假學習之 Django學習筆記(一) 教材 書《The Django Book》 視頻:csvt Django視頻 1.創建項目

Spring 學習筆記—— Bean之間的關系、作用域、自動裝配

mar byname pps etc 有時 sysman 對象實例 構造 encoding 繼承   Spring提供了配置信息的繼承機制,可以通過為<bean>元素指定parent值重用已有的<bean>元素的配置信息。 <?xml

Go語言學習筆記文件操作

see 大小 unix rdo 筆記 不能 hid code lag 加 Golang學習 QQ群共同學習進步成家立業工作 ^-^ 群號:96933959 文件讀取 os.File 封裝了文件相關操作 type File File代表一個打開的文件對象。

Unity3D之Mecanim動畫系統學習筆記:Animator Controller

浮點 key 發現 菜單 融合 stat mon 好的 project 簡介 Animator Controller在Unity中是作為一種單獨的配置文件存在的文件類型,其後綴為controller,Animator Controller包含了以下幾種功能: 可以對

Python學習筆記OOP

默認 tro acl 引入 支持 不同 post set 成像 模塊 使用模塊import 模塊名。有的僅僅導入了某個模塊的一個類或者函數,使用from 模塊名 import 函數或類名實現。為了避免模塊名沖突。Python引入了按文件夾來組織模塊的方

如鵬網學習筆記MySql基礎

修改列 記錄 tex 令行 金額 升序 查詢 自動遞增 col MySQL基礎 一、數據庫概念  1,網友裝備信息、論壇帖子信息、QQ好友關系信息、學籍管理系統中的學生信息等都要“持久化”的保存到一個地方,    如果通過IO寫到文件中,那麽會非常麻煩,而且不利於多人共享數

docker學習筆記——Docker常用命令總結

docker學習筆記 docker常用命令總結 1. 開啟/停止/重啟container(start/stop/restart)容器可以通過run新建一個來運行,也可以重新start已經停止的container,但start不能夠再指定容器啟動時運行的指令,因為docker只能有一個前臺進程。容器st

jQuery學習筆記

加載 complete += ron 序列 border () ajaxstart 單選 jQuery與Ajax的應用 Ajax的優勢和不足 Ajax的優勢 a)不需要插件支持 b)優秀的用戶體驗 c)提高Web程序的性能 d)減輕服務器和寬帶的負擔 Ajax的不

流暢的python和cookbook學習筆記

pytho col () 學習 util 學習筆記 取出 minute python 1.隨機選擇   python中生成隨機數使用random模塊。   1.從序列中隨機挑選元素,使用random.choice() >>> import random

Oracle 學習筆記

采樣 flash 全表掃描 group space 表空間 manage 授權 個數 --表空間,auto: 自動管理, manual: 手動管理 create tablespace tsp1 datafile ‘D:\ORACLE\ORADATA\O10\tsp1.