/blog/article/2/
的時候,url路由器會呼叫檢視views.py的
article_detail
方法。article_detail所做的就是提取id=2的文章物件,通過
render
方法,將它傳遞到模板檔案
/blog/article_detail.html。
# blog/urls.pyfrom 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...