顯示全部主題的頁面
1.定義URL模式html
2.定義視圖web
函數topics()須要從數據庫中獲取一些數據,並將其發送給模板正則表達式
1處導入與所需數據相關聯的模型數據庫
2處表示Django從服務器收到的request對象服務器
3處查詢數據庫 -- 請求提供Topic對象,並按屬性date_added對它們進行排序,並將查詢集存儲在topics中app
4處定義了一個將要發送給模板的上下文函數
5處根據視圖提供的數據渲染響應url
3.建立模板topics.htmlhtm
該網頁的主題是一個項目列表,其中列出了用戶輸入的主題。在HTML中,項目列表被稱爲無序列表,用標籤<ul></ul>表示對象
{% for %} {% endfor %}至關於for循環的模板標籤
<li></li>之間的內容都是一個項目列表項
{% empty %}告訴Django在列表topics爲空時該怎麼辦
<a href="{% url 'web_app:topic' topic.id %}">{{ topic }}</a> 表示將每一個主題都連接到相應的網頁
4.在base.html中的主頁連接後面添加一個連字符,而後添加一個顯示全部主題的頁面的連接
5.顯示特定主題的頁面
1>定義URL模式
2>編寫視圖函數topic()
1處的topic接受正則表達式(?P<topic_id>\d+)捕獲的值
2處使用get()來獲取指定的主題
3處獲取與主題相關的條目,並將它們按時間降序排列
4處將主題和條目都存儲在字典context中
5處表示將字典context發送給模板topic.html
3>建立模板