路由解析

引入

MVT模式中的V,V代表視圖,在Django中的視圖主要用來(lái)接受web請(qǐng)求,并做出響應(yīng)。視圖的本質(zhì)就是一個(gè)python中的函數(shù) 視圖的響應(yīng)分為兩大類(lèi) 以json數(shù)據(jù)形式返回 以網(wǎng)頁(yè)的形式返回 重定向到另一個(gè)網(wǎng)頁(yè) 錯(cuò)誤視圖頁(yè)面(404,500等) 視圖響應(yīng)的過(guò)程:瀏覽器輸入 → django獲取信息并去掉ip:端口,身下路徑 → urls路由匹配 → 視圖響應(yīng) → 回饋到瀏覽器。

修改url

1、在項(xiàng)目目錄下的urls.py文件中添加正則匹配及跳轉(zhuǎn)目標(biāo)目錄

url(r'app/', include('app.urls', namespace='app')),
如果在路徑中頭部匹配到了app,就轉(zhuǎn)到app.urls文件中繼續(xù)匹配,namespace聲明urls文件所在文件夾app

修改url

2、創(chuàng)建指定文件

接下來(lái)應(yīng)該在app(namespace聲明文件夾)中創(chuàng)建名為urls(指定文件名)py文件,并添加路由地址正則匹配信息
url(r'^stu/', views.index, name='index'),

指定目標(biāo)地址

3、返回自定義頁(yè)面

在views中實(shí)現(xiàn)返回自定義頁(yè)面的功能

def index(request):
    if request.method == 'GET':
        stus = Student.objects.all()

        return render(request, 'index.html', {'students': stus})
        # return HttpResponse('hello')

4、瀏覽器中訪問(wèn)

訪問(wèn)結(jié)果

總結(jié):
路由解析的關(guān)鍵在于對(duì)ursl.py文件的引入與應(yīng)用,主要工作就是在項(xiàng)目目錄下采用正則匹配后將結(jié)果轉(zhuǎn)到應(yīng)用目錄下的ursl.py文件再匹配調(diào)用。
注:書(shū)寫(xiě)代碼時(shí),多次切換頁(yè)面寫(xiě)關(guān)鍵詞的時(shí)候會(huì)有紅色下劃線的錯(cuò)誤,這是因?yàn)闆](méi)有導(dǎo)入相關(guān)的包所導(dǎo)致的。只需要導(dǎo)入相關(guān)的包,可以使用鼠標(biāo)點(diǎn)擊,出現(xiàn)小燈泡,點(diǎn)擊小燈泡選擇導(dǎo)入相關(guān)包。不過(guò)推薦使用快捷鍵:Alt+Enter;可以直接導(dǎo)包,能夠在一定程度上提高書(shū)寫(xiě)代碼的速度。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 切換到創(chuàng)建項(xiàng)目的目錄 cd C:\Users\admin\Desktop\DjangoProject創(chuàng)建名為pr...
    在努力中閱讀 3,525評(píng)論 2 3
  • 模塊間聯(lián)系越多,其耦合性越強(qiáng),同時(shí)表明其獨(dú)立性越差( 降低耦合性,可以提高其獨(dú)立性)。軟件設(shè)計(jì)中通常用耦合度和內(nèi)聚...
    riverstation閱讀 2,203評(píng)論 0 8
  • 已經(jīng)同步到gitbook,想閱讀的請(qǐng)轉(zhuǎn)到gitbook: Django 1.10 中文文檔 URL dispatc...
    leyu閱讀 14,417評(píng)論 0 16
  • 1.簡(jiǎn)介 Expres是基于Node.js平臺(tái),快速、開(kāi)放、極簡(jiǎn)的web開(kāi)發(fā)框架。(Expres中文官網(wǎng)首頁(yè)原話(huà))...
    小武song閱讀 1,931評(píng)論 0 0

友情鏈接更多精彩內(nèi)容