Django的 中模板 的設計及 常用過濾器與標籤

2021-08-21 08:44:03 字數 2760 閱讀 6566

/blog/article/2/

的時候,url路由器會呼叫檢視views.py的

article_detail

方法。article_detail所做的就是提取id=2的文章物件,通過

render

方法,將它傳遞到模板檔案

/blog/article_detail.html。

# blog/urls.py

from django.urls import path

from . import views

urlpatterns = [path('blog/article//'

, views.article_detail,

name='article_detail'),

]# blog/views.py

from django.shortcuts import render, get_object_or_404

from .models import article

def

article_detail(request, id):

article = get_object_or_404(article,

pk=id)

return render(request,

'blog/article_detail.html'

, )

blog/article_detail.html

的**。在模板檔案裡我們可以通過雙括號

} 顯示變數或內容物件,

還可以通過點號(

.)用來直接訪問變數的屬性。

}}

}

呼叫template,這樣會杜絕與其它同名template的衝突。

django專案檔案與資料夾的合理布局

】中lower過濾器可以讓文章的標題轉化為小寫。

django的模板提供了許多內建過濾器,你可以直接使用,非常方便。

例子lower, upper

} 大小寫

length

} 長度

default

} 預設值

date

} 日期格式

dicsort

} 字典排序

escape

} 轉義

filesizeformat

} 檔案大小

first, last

} 首或尾

floatformat

} 浮點格式

get_digit

} 位數

join

} 字元連線

make_list

} 轉字串

pluralize

} 複數

random

} 隨機

slice

} 切slugify

} 轉為slug

striptags

} 去除tags

time

} 時間格式

timesince

}truncatechars

} truncatewords

} truncatechars_html

}urlencode

} url轉義

wordcount

} 單詞字數

}裡的,而**是放在

標籤裡的。django裡有很多自帶標籤,可以滿足絕大部分開發需求。

例子 **塊

表單專用

not python.

say hello

} employee}

# load tags and filters

模板的繼承

extends

標籤。在下面經典模板繼承案例中,template.html中的content模組,會替換掉base.html中的content模組。同時template.html繼承了base.html的

sidebar

和footer

模組。

# base.html

# template.html

}

標籤支援相對路徑,這就意味著當資料夾結構如下所示時:

dir1/

template.html

base2.html

my/base3.html

base1.html

static_url = '/static/'

,如下所示。

html

>

lang=

"en"

>

rel=

"stylesheet"

href=

>

myproject/settings.py

可以加入下面一行**。

staticfiles_dirs = [

os.path.join(base_dir, "static"),

'/var/www/static/',

]

Django中模板的繼承及引用實現

到一定時候,你會發現,中有些不同的頁面,它們中的部分資料是完全一模一樣的 而且有些資料不一樣的部分,它們前端的排版格式卻是一模一樣的哦!你肯定會心生疑問 難道這些頁面全都要乙個個敲 做嘛!這也太絕望了吧!但是 不要忘記了!程式猿一大原則是 絕不做重複的事!所以對於上述現象,就涉及到了乙個知識點 模板...

Django中的T 模板

渲染模板 templates資料夾存放模板檔案,可以使用模板語法,注意static資料夾裡面html檔案不能使用模板語法。templates可以是自定義的名字,在子應用目錄下需要註冊,在工程目錄下需要在settings.py裡註冊,然後將資料夾標記為template folter。django預設的...

Mako模板引擎安裝及在Django中的整合

最近使用django做專案,覺得自帶模板侷限性很大,使用起來自由度不高,最終還是痛下決心換mako模板。找到一篇文章,講述如何在django的基礎上安裝mako並使用。mako模板引擎安裝及在django中的整合 作業系統 linux cent os 5 max os x 10.6 snow leo...