學習筆記專案4 Django 建立資料庫及應用

2022-04-01 17:41:58 字數 1688 閱讀 7857

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 提供了個實用工具可以自動生成乙個應用的基本目錄架構,因此你可以專注於編寫 而...