Django學習筆記之url路由及模板渲染方式

2022-02-06 14:27:52 字數 2754 閱讀 9900

1.在專案目錄下urls.py檔案:

2.在專案目錄建立了乙個views.py檔案:

path 基本規則:

path('test//',views.test)
使用尖括號(<>)從url中捕獲值。包含乙個轉化器型別(converter type)沒有轉化器,將匹配任何字串,當然也包括了 / 字元

預設支援的轉換器:

str,匹配除了路徑分隔符(/)之外的非空字串,這是預設的形式

int,匹配正整數,包含0。

slug,匹配字母、數字以及橫槓、下劃線組成的字串。

uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。

path,匹配任何非空字串,包含了路徑分隔符

轉換器的使用:

#注意轉換器的引數名要一致

re_path正則匹配:

re_path('^hello/$',views.test5),

re_path('^hello/(?p[0-9]+)/',views.test6),

使用include進行路由分配:

# 專案目錄下的主urls.py

from django.contrib import admin

from django.urls import path,include

from . import views

urlpatterns = [

path('admin/', admin.site.urls),

path('book/',include('book.urls')),

]from django.urls import path

from . import views

urlpatterns = [

path('index/',views.index),

]

kwargs的作用:傳遞乙個python 字典作為額外的引數傳遞給檢視函式。

# 主urls.py檔案

from django.contrib import admin

from django.urls import path,include

urlpatterns = [

path('admin/', admin.site.urls),

path('book/',include('book.urls'),),

]# 使用kwarg為字典型別可以傳遞額外的引數到views中

使用include的時候,需要統一給下面的url一些引數的時候,顯得尤其有用

# 注意,父級的url中有kwarg的時候,會傳給子路由的每個url以及檢視函式,不要忽略

# 注意函式要接收kwargs引數

defindex

(request,**kwargs):

if kwargs.get('switch') == 'true':

print(datetime.datetime.now())

return httpresponse('這個book的首頁!!')

name的作用:給乙個匹配的url位址取名字,一般用於模板,也可以使用reverse進行頁面重定向

頁面重定向的例子:

那麼,django怎樣去呼叫漂亮的html前端頁面呢?

渲染模板:

1.直接將html字串硬編碼httpresponse中

2.django.template.loader 定義了函式以載入模板

3.使用render進行渲染。

好啦,現在簡單的模板以及渲染好啦,讓我們一起期待下節吧。

Django學習筆記之url路由

一 django中路由的作用 其本質是url與該url要呼叫的檢視函式之間的對映,就是為告訴django對客戶端發過來的某個url應該呼叫執行哪一段邏輯 二 路由基本的配置 from django.conf.urls import url urlpatterns必須是乙個由url 例項組成的pyth...

Django學習筆記之URL標籤的使用

期初用django 開發應用的時候,完全是在urls.py 中硬編碼配置位址,在views.py中httpresponseredirect 也是硬編碼轉向位址,當然在template 中也是一樣了,這樣帶來乙個問題,如果在urls.py 中修改了某個頁面的位址,那麼所有的地方 views.py和te...

django學習筆記011 捕獲url引數

前面我們講到,django的mvt框架,在urls.py裡面利用正規表示式對http請求的url進行匹配,但是如何獲得http請求裡面的傳送的引數呢?利用正規表示式的分組進行獲取引數 url r books d views.detail d 為正規表示式裡面的組 獲取位置的引數,並傳給view裡面的...