1. 程式人生 > >Django 學習筆記(四)模板變數

Django 學習筆記(四)模板變數

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

1.傳入普通變數

在hello/Hello World/temlplates/index.html中,修改html檔案

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>{{title}}</title>
    <meta charset="utf-8">
</head>
<body>
   <h1> Hello {{name}}</h1>
</body>
</html>

接著在hello/Hello World/views.py檔案中,修改views.py

from django.shortcuts import render

def index(request):
    return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})

然後啟動伺服器,訪問瀏覽器,得到結果:

標題是 Welcome,正文是Hello KeinLee

2.傳入字典變數

修改html檔案

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>{{title}}</title>
    <meta charset="utf-8">
</head>
<body>
    <h2> Hello {{person.name}} </h2>
    <h2> age {{person.age}} </h2>
    <h2> sex {{person.sex}} </h2>
</body>
</html>

修改views.py檔案

from django.shortcuts import render

def index(request):
    #傳入普通變數
    #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})

    #傳入字典變數
    person = {'name':'Lee','age':20,'sex':'male'}
    return render(request,'index.html',{'title':'Welcome','person':person})

然後重新整理頁面,得到結果:

標題是 Welcome,

正文是

Hello Lee

age 20

sex male

3.傳入列表變數

修改html檔案

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>{{title}}</title>
    <meta charset="utf-8">
</head>
<body>
    <h2>字典變數:</h2>
    <ul>
        <li> Hello {{person.name}} </li>
        <li> age {{person.age}} </li>
        <li> sex {{person.sex}} </li>
    </ul>
    <h2>列表變數:</h2>
    <ul>
        <li> {{book.0}} </li>
        <li> {{book.1}} </li>
        <li> {{book.2}} </li>
    </ul>
</body>
</html>

修改views.py檔案

from django.shortcuts import render

def index(request):
    #傳入普通變數
    #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})

    #傳入字典變數
    person = {'name':'Lee','age':20,'sex':'male'}
    book_list = ['python','java','c']
    return render(request,'index.html',{'title':'Welcome','person':person,'book':book_list})

然後重新整理頁面,得到結果:

標題是 Welcome,

正文是

字典變數:

  • Hello Lee
  • age 20
  • sex male

列表變數:

  • python
  • java
  • c

4.傳入物件變數

修改html

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>{{title}}</title>
    <meta charset="utf-8">
</head>
<body>
    <h2>字典變數:</h2>
    <ul>
        <li> Hello {{person.name}} </li>
        <li> age {{person.age}} </li>
        <li> sex {{person.sex}} </li>
    </ul>
    <h2>列表變數:</h2>
    <ul>
        <li> {{book.0}} </li>
        <li> {{book.1}} </li>
        <li> {{book.2}} </li>
    </ul>
    <h2>物件變數:</h2>
    {{person.name}} say : {{person.say}}
</body>
</html>

 修改views.py

from django.shortcuts import render

class Person(object):
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex

    def say(self):
        return "I'm %s." %self.name
        
def index(request):
    #傳入普通變數
    #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})

    #傳入字典變數
    #person = {'name':'Lee','age':20,'sex':'male'}
    #傳入列表變數
    book_list =['python','java','c']
    #傳入物件變數
    person=Person('Lucky',18,'female')
    return render(request,'index.html',{'title':'Welcome','person':person,'book':book_list})

重新整理頁面,得出結果:

字典變數:

  • Hello Lucky
  • age 18
  • sex female

列表變數:

  • python
  • java
  • c

物件變數:

Lucky say : I'm Lucky.

綜上所述,模板變數可以傳遞普通變數、字典、列表和物件屬性和方法

優先順序:普通變數>字典>物件屬性>物件方法>列表

相關推薦

Django 學習筆記模板變數

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

Django 學習筆記模板導入

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

django學習筆記

keys $.ajax pac ons include reverse cheng .get 基於 1、請求周期 url> 路由 > 函數或類 > 返回字符串或者模板語言? Form表單提交: 提交 -> url > 函數或類中的方

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.IF標籤 Hello World/views.py 1 from django.shortcuts import render 2 3

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

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

flask學習筆記:渲染模板和引數

1、渲染模板 需要先匯入render_templatem模組,然後先在檔案所在目錄建立一資料夾,命名為templates,然後在資料夾中新建一個html網頁檔案。(渲染時框架會自動尋找網頁檔案,不必新增"templates"這個路徑,這是由flask框架決定的) &l

Cocos2d-x學習筆記 布景層的加入移除

dcl from position 顏色 顯示地圖 idt col 分享 學習 布景層類也就是CCLayer類,每一個遊戲場景中都能夠有非常多層,每一層負責各自的任務。顯示地圖、顯示人物等。同一時候層還是一個容器,能夠放入文本、圖片和菜單。構成遊戲中一個個UI。這次

機器學習筆記機器學習可行性分析

資料 表示 image 隨機 訓練樣本 -s mage 例如 lin 從大量數據中抽取出一些樣本,例如,從大量彈珠中隨機抽取出一些樣本,總的樣本中橘色彈珠的比例為,抽取出的樣本中橘色彈珠的比例為,這兩個比例的值相差很大的幾率很小,數學公式表示為: 用抽取到的樣本作為訓練

Python_sklearn機器學習學習筆記decision_tree決策樹

min n) 空間 strong output epo from 標簽 ict # 決策樹 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.

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

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

Python學習筆記 列表生成式_生成器

rec triangle 小寫 ont 無限 end clas 普通 執行過程 筆記摘抄來自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431

Unity3D之Mecanim動畫系統學習筆記:Animation State

大致 面板 輸入 jpg any 動畫播放 速度 nsf 顯示 動畫的設置 我們先看看Animation Clip的一些設置: Loop time:動畫是否循環播放。 下面出現了3個大致一樣的選項: Root Transform Rotation:表示為播放動畫

.net core 2.0學習筆記:遷移.net framework 工程到.net core

編譯 its evel hashtable ref 學習筆記 inline null 創建 在遷移.net core的過程中,第一步就是要把.net framework 工程的目標框架改為.net core2.0,但是官網卻沒有提供轉換工具,需要我們自己動手完成了

ES6學習筆記—— async 函數

ons fst cte code span pre getname 普通 聲明 await 是 async wait 的簡寫, 是 generator 函數的語法糖。 async 函數的特點: async 聲明一個方法是異步的,await 則等待這個異步方法執行的完

Hibernate學習筆記 --- 映射基本數據類型的List集合

varchar prim drop n) 進行 lis auth pos 方案 集合按其內元素的數據類型分為兩種:基本數據類型集合及復雜對象類型集合,Hibernate對於兩類集合提供不同的映射方式。(在類上以@Embeddable註解的復雜對象數據類型處理方式同基本數據類

java學習筆記:import語法

employee sign cnblogs java 調用 變量賦值 temp 職位 求職 Import 語法是給編譯器尋找特定類的適當位置的一種方法。 創建一個Employee 類,包括四個實體變量姓名(name),年齡(age),職位(designation)和薪水(s

Cesium學習筆記Camera

ttr can str efault 簡單的 list 事件處理 get provider http://blog.csdn.net/HobHunter/article/details/74909641 Cesium 相機控制場景中的視野。操作相機的方法有很多,如

python學習筆記-數據類型

rand 兩個 urn 浪費 line 平年 randint .com .cn 0. 在 Python 中的數據類型詳解 http://www.cnblogs.com/scios/p/8026576.html 1. 為什麽布爾類型(bool)的 True 和 False 分

Nodejs學習筆記-----Buffer

pretty 成員 保存 n) tin 設置 amp 個數 普通 Node.js Buffer(緩沖區) JavaScript 語言自身只有字符串數據類型,沒有二進制數據類型。 但在處理像TCP流或文件流時,必須使用到二進制數據。因此在 Node.js中,定義了一個 Buf