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裡面的...