url傳遞參數:
url映射:
- 為什么會去urls.py文件中尋找映射呢?
是因為在settings.py
文件中配置了ROOT_URLCONF
為urls.py
。所有django會去urls.py
中尋找。 - 在
urls.py
中我們所有的映射,都應該放在urlpatterns
這個變量中。 - 所有的映射不是隨便寫的,而是使用
path
函數或者是re_path
函數進行包裝的。
url傳參數:
- 采用在url中使用變量的方式:在path的第一個參數中,使用
<參數名>
的方式可以傳遞參數。然后在視圖函數中也要寫一個參數,視圖函數中的參數必須和url中的參數名稱保持一致,不然就找不到這個參數。另外,url中可以傳遞多個參數。 - 采用查詢字符串的方式:在url中,不需要單獨的匹配查詢字符串的部分。只需要在視圖函數中使用
request.GET.get('參數名稱')
的方式來獲取。示例代碼如下:
因為查詢字符串使用的是def author_detail(request): author_id = request.GET['id'] text = '作者的id是:%s' % author_id return HttpResponse(text)
GET
請求,所以我們通過request.GET
來獲取參數。並且因為GET
是一個類似於字典的數據類型,所有獲取值跟字典的方式都是一樣的。
url參數的轉換器:
- str:除了斜杠
/
以外所有的字符都是可以的。 - int:只有是一個或者多個的阿拉伯數字。
- path:所有的字符都是滿足的。
- uuid:只有滿足
uuid.uuid4()
這個函數返回的字符串的格式。 - slug:英文中的橫桿或者英文字符或者阿拉伯數字或者下划線才滿足。