django 配置URLconf和獲取值


django中正確配置url匹配找到視圖:

1 在項目下的settings.py中ROOT_URLCONF = "項目名.urls“

表示 前台發來請求會先去項目下的test3/urls.py文件進行正則匹配找到應該執行的視圖函數。

 

 

2 在test3/urls.py 文件中進行配置 urlpatterns

發來的請求會進入urlpatters列表順次匹配正則表達式,匹配成功的進入url()的第二個參數指定的去向

發來請求如果是ip:端口/aaa/bbb/?a=23  類似這樣的格式,到這里匹配的時候會被django拆分剩下aaa/bbb/來匹配

第一個include(admin.site.urls) 表示django的后台數據庫管理頁面

第一個之后,時候我們自己開發的業務中的匹配。

第二個是 發來請求如果是 127.0.0.1:8000/demo/xxx/xxx/   到這里會剩下demo/xxx/xxx/來匹配,會和第二項匹配成功

  匹配成功后會刪去匹配成功的部分 剩下xxx/xxx 去url的第二個參數include("demo1.ulrs") 去匹配,

  指的是去demo1應用模塊下的urls.py繼續正則匹配

第三個是指 任何匹配到這里的都能成功,然后轉向booktest應用下的urls.py繼續正則匹配

 

3 booktest引用下的urls.py文件設置匹配:

從上一部項目的urls.py匹配后 跳轉到應用的urls.py當中,進入urlpatters依次匹配

到這里,與正則匹配成功的會去執行第二個參數指定的函數:

  如果剩下的字符串是index/ 則會 去views.py當中尋找index函數

  如果剩下的是add/ 則會去views.py中尋找add 函數並執行

 

4 views.py中視圖函數

在views.py中,定義函數名稱要與匹配成功的結果相一致。

匹配過來的請求會執行這個函數,完成一些業務邏輯,返回response。

發來瀏覽器的請求就會接收到這個response

 

 

 

獲取值:

通過url匹配的方式,有兩種方式給views視圖函數傳遞參數:位置參數、關鍵字參數

 

1 位置參數:

直接使用小括號給正則表達式分組,通過位置參數傳遞給視圖。

1)為了提取參數,修改上面的正則表達式如下:

url(r'^delete(\d+)/$',views.show_arg),

之后在views.py文件中的show_arg函數設置參數去接收正則的分組

def show_arg(request,id): return HttpResponse('show arg %s'%id)

 

 

 

2 關鍵字參數:

在正則表達式部分為組命名。

1)修改正則表達式如下:

  其中?P部分表示為這個參數定義的名稱為id,可以是其它名稱,起名做到見名知意

url(r'^delete(?P<id1>\d+)/$',views.show_arg),

2)修改視圖show_arg如下:

  注意:視圖show_arg此時必須要有一個參數名為id1,否則報錯。

def show_arg(request,id1): return HttpResponse('show %s'%id1)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM