<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Django Blog|04 創(chuàng)建blog視圖和完成MVT框架開(kāi)發(fā)

          共 2101字,需瀏覽 5分鐘

           ·

          2021-10-24 09:38

          作者:老表
          來(lái)源:簡(jiǎn)說(shuō)Python

          大家好,我是老表,這個(gè)系列將會(huì)更新我編寫(xiě),項(xiàng)目的學(xué)習(xí)筆記,也是后面更新的一個(gè)重點(diǎn),希望個(gè)人博客頁(yè)面可以早點(diǎn)和大家見(jiàn)面~歡迎大家點(diǎn)贊、留言支持。

          Django Blog|01 創(chuàng)建環(huán)境和項(xiàng)目

          Django Blog|02 創(chuàng)建admin賬戶&settings.py介紹

          Django Blog|03 創(chuàng)建一個(gè)blog app和Article模型

          在上一節(jié)中,我們創(chuàng)建了blog app,并對(duì)相關(guān)文件進(jìn)行了基本介紹,完成了Article模型的創(chuàng)建,和后臺(tái)管理注冊(cè),并手動(dòng)添加了兩篇博客。

          在這一節(jié),我們將開(kāi)始操作blog的視圖和前端模版創(chuàng)建。

          首先我們打開(kāi)blog/views.py文件,添加下面代碼,主要是創(chuàng)建了一個(gè)首頁(yè)視圖,ListView, DetailView為通用視圖,旨在顯示數(shù)據(jù),可以不用我們自己寫(xiě)一些數(shù)據(jù)查詢操作,可以依賴django系統(tǒng)返回對(duì)應(yīng)模塊數(shù)據(jù),便于我們使用。

          from?django.shortcuts?import?render
          from?django.views.generic?import?ListView,?DetailView
          from?blog.models?import?Article

          #?Create?your?views?here.
          class?HomeView(ListView):
          ????#?指定視圖操作模型
          ????model?=?Article
          ????#?指定視圖引用模板,需要在myblog目錄下新建一個(gè)templates文件夾,用于存放前面模板
          ????#?并在template文件夾中創(chuàng)建一個(gè)home.html?作為我們博客的首頁(yè)
          ????template_name?=?'home.html'

          如上面代碼所示,我們需要在myblog(最上層項(xiàng)目目錄)下創(chuàng)建一個(gè)templates文件夾(之前已經(jīng)在settings.py中的TEMPLATES中設(shè)置了DIRS),用于存放前面模板,并在里面創(chuàng)建一個(gè)home.html 作為我們博客的首頁(yè)。我們現(xiàn)在home.html里簡(jiǎn)單寫(xiě)一句Hello Blog~,后面我們會(huì)更改成顯示首頁(yè)改顯示內(nèi)容。

          完成這一步,Django的MVT框架,我能基本都完成了,那么是否我們直接訪問(wèn)http://127.0.0.1:8000/就會(huì)顯示Hello Blog~,而不是Django默認(rèn)首頁(yè)呢?

          很顯然不會(huì),因?yàn)槲覀冞€沒(méi)有配置這個(gè)app的路由(url),接下來(lái)我們?cè)?code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);">blog目錄下新建一個(gè)urls.py文件,并為我們寫(xiě)的HomeView添加路由,

          from?django.urls?import?path
          from?blog?import?views

          urlpatterns?=?[
          ????#?第一個(gè)參數(shù):路由地址
          ????#?第二個(gè)參數(shù):視圖函數(shù),直接通過(guò)views調(diào)用即可,要加上as_view
          ????#?第三個(gè)參數(shù):路由名
          ????path('',?views.HomeView.as_view(),?name='home'),
          ]

          除了在這里設(shè)置路由之外,我們還需要在主程序myblog/urls.py設(shè)置路由將blog子路由包括其中,這樣訪問(wèn)路由才會(huì)層層生效。

          from?django.contrib?import?admin
          from?django.urls?import?path,?include

          urlpatterns?=?[
          ????path('admin/',?admin.site.urls),
          ????#?第一個(gè)參數(shù)?路由地址
          ????#?第二個(gè)參數(shù):include添加blog子應(yīng)用路由
          ????path('',?include('blog.urls')),
          ]

          這樣,我們就完成了路由配置了,這時(shí)候我們運(yùn)行程序后,直接訪問(wèn)http://127.0.0.1:8000/,就會(huì)顯示home.html內(nèi)容了,

          這樣我們就完成了Django框架的MVT+路由的基本配置啦,后面開(kāi)發(fā)其他子應(yīng)用的流程也是這樣:

          1、M-創(chuàng)建數(shù)據(jù)庫(kù)模型,并模型遷移,映射到數(shù)據(jù)庫(kù)
          2、V-寫(xiě)視圖函數(shù),主要實(shí)現(xiàn)后端功能,并將數(shù)據(jù)映射到前端
          3、T-前端頁(yè)面顯示模板
          最后還有配置好主應(yīng)用路由和子應(yīng)用路由

          其實(shí)一般在創(chuàng)建好視圖函數(shù)后就可以添加路由了。

          歡迎大家點(diǎn)贊、在看、轉(zhuǎn)發(fā)支持,點(diǎn)擊在看,下次可以第一時(shí)間收到公眾號(hào)推文~

          本文為付費(fèi)專欄,每周更新1-2篇,利用Django帶大家一起實(shí)現(xiàn)個(gè)人博客,最后也會(huì)上線。

          如果是對(duì)Django感興趣的初學(xué)者可以購(gòu)買(mǎi),如果你對(duì)Django已經(jīng)有所了解了,那我不建議你付費(fèi),你可以選擇后面你感興趣的、更深層次的章節(jié)進(jìn)行付費(fèi),如果需要的話。

          閱讀到這里的都是真想學(xué)習(xí)Django的學(xué)習(xí)者,我為大家準(zhǔn)備了一個(gè)Django學(xué)習(xí)交流群(付費(fèi),目前直接購(gòu)買(mǎi)本系列任意一篇文章即可加入),加入方式如下:

          瀏覽 29
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  你懂的在线观看视频 | 五月天深爱激情网 | 无码国产+白浆 | 国产色色导航 | 走光无码一区二区三区 |