1. 程式人生 > >4.4、Django - URL之URL傳參給檢視(二)

4.4、Django - URL之URL傳參給檢視(二)

上篇介紹了通過URL傳參給檢視,下面繼續說一下URL傳參給檢視的另外一種方式(查詢字串的形式),即GET 請求方法 。

在douAPI專案APP為douBook的views.py中:

from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse

# def book_info(request):
#     return HttpResponse("圖書詳情")

# def book_info_detail(request,book_id):
# # 從資料庫中拿book_id,省略 # your_book_id = 'your book id is :{book_id}'.format(book_id = book_id) # return HttpResponse(your_book_id) # 注意book_author_detail函式與book_info_detail(request,book_id)的區別,前者的除了request引數寫在括號內,其餘不寫,在函式體內部體現 def book_author_detail(request): # 從資料庫中拿id author_id =
request.GET.get('id') # 或者author_id = request.GET['id'] content = "Author's id of the book is : {input_id}".format(input_id = author_id) return HttpResponse(content)

在douAPI專案下的urls.py中:

from django.urls import path
from douBook import views

urlpatterns = [
    # path('douBook/', views.book_info),
# # 注意:引數<book_id>必須與APP為douBook下的views.py中book_info_detail函式的引數book_id保持一致!!! # path('douBook/<book_id>/', views.book_info_detail), # 注意:通過查詢字串的形式傳參,即GET請求方法,不需要加<>,author_id部分也可以隨意寫,比如寫成Auth_id path('douBook/author/', views.book_author_detail), ]

結果如下:

在這裡插入圖片描述

總結:
1、採用查詢字串方式,在url中,不需要單獨匹配查詢字串的部分,只需在檢視函式中使用request.GET.get(引數) 或者 request.GET[引數] 方式來獲取 。