django-建立其他網頁
該部分擴充了兩個顯示資料的新網頁。首先建立了乙個父模板html,新的網頁都繼承這個父模板來顯示資料,其中乙個
顯示所有特定主題,另乙個顯示所有主題的條目
base.html
learning log -
該模板是乙個基礎模板,其他網頁的模板都繼承這個模板再去新增內容。
模板標籤 生成乙個url,該 url 與 learning_logs:index 中定義的名為 index
的 url 模式匹配。
子模板重新編寫 index.html
learning log helps you keep track of yhour learning, for any topic you`re learning about
字模板第一行必須包含標籤 ,讓 django 知道是繼承了那個父模板。在子模板中,只需包含當前網頁要
要增加的內容。
顯示所有主題的頁面
該部分顯示使用者建立的主題
首先,修改 learning_logs/urls.py,定義乙個能顯示所有主題的 url
rlpatterns = [
url(r'^$', views.index, name='index'), # 讓python查詢開頭和末尾之間沒有任何東西的url
# 顯示所有的主題
url(r'^topics/$', views.topics, name='topics'),
]
django 在請求 url 時,會去檢查與這樣乙個url模式相匹配, topics/ ,該模式新增在基礎 url 後面,即
在 http://localhost:8000/ 後面跟著 topics/ ,topics/ 後面不能跟著其它東西,否則 url 不匹配。
請求的 url 與上面的模式相匹配後,得到的請求都交給 views.py 中的 topics() 進行處理
在 views.py 中定義 topics()
from .models import topic
def topics(request):
"""顯示所有的主題"""
topics = topic.objects.order_by('date_added') # 查詢資料庫時,請求提供 topic 物件,按屬性 date_added 對資料進行排序
context = # context 是乙個傳送給模板的上下文,通過 render() 進行傳遞
return render(request, 'learning_logs/topics.html', context)
在 index.html 同目錄下建立 topics.html 模板,該模板接受來自 render() 的傳遞的字典 context。
topics
該模板中列印了使用者輸入的主題。 表明繼承了哪個父模板。標籤表示無序列表。
標籤用來顯示專案列表項,即每個主題。 模板標籤,告訴django在列表為空時該怎麼操作。
修改父模板,使其包含到顯示所有主題的頁面的鏈結
learning log -
topics
4 Django 建立第乙個模組應用
大成若缺,其用不弊。大盈若衝,其用不窮。大直若屈。大巧若拙。大辯若訥。靜勝躁,寒勝熱。清靜為天下正 老子 道德經 開發第乙個檢視 view url訪問配置的巢狀 urls 上一節內容中,我們建立了乙個django專案mysite 在專案的骨架的基礎上,我們再建立基於專案的乙個子模組投票模組,模組名稱...
Django學習筆記(1)建立專案
1.1 建立虛擬環境 使用django首先要建立乙個虛擬環境,在這個虛擬環境中安裝包,這樣做的好處是,可以將這個專案的庫與其他專案分離,並且便於將該專案部署到伺服器。為專案新建乙個目錄,在終端中切換到這個目錄。在專案目錄下建立虛擬環境 learning log python3 m venv ll e...
Django學習筆記4 建立模型
專案環境搭建好了可以開工了。django規定,如果要使用模型,必須要建立乙個應用。通過 djaong 編寫的每個應用都是由python包組成的,這些包存放在你的python path 中並且遵循一定的命名規範。django 提供了個實用工具可以自動生成乙個應用的基本目錄架構,因此你可以專注於編寫 而...