django通過url反轉(zhuǎn)實(shí)現(xiàn)帶參數(shù)的url

通過django的url反轉(zhuǎn)函數(shù)reverse()函數(shù),實(shí)現(xiàn)帶參數(shù)的url的反轉(zhuǎn)
首先,我們定義了這樣的幾個(gè)url:
創(chuàng)建了一個(gè)bookapp,

from django.urls import path
from . import views


app_name='book'
urlpatterns =[
    path('',views.book),
    path('detail/<book_id>',views.bookdetail,name='details'),
    path('author_id/',views.author_id,name='author_id'),
]

命名空間為app_name='book'
我們的反轉(zhuǎn)需求是:當(dāng)用戶登陸首頁時(shí),如果沒有附帶用戶名username參數(shù),就通過url反轉(zhuǎn)和重定向返回到bookapp的'detail/<book_id>'詳情頁面,其中'detail/<book_id>'頁面是附帶請(qǐng)求參數(shù)的

urlpatterns = [
    path('', index),]
def index(request):
    username = request.GET.get('username')
    if username:
        return HttpResponse("這是首頁")
    else:
        reverse_url = reverse('book:details',kwargs = {'book_id':1})
        return redirect(reverse_url)

通過kwargs來傳遞參數(shù)
還有的url是附帶諸如?q=xxx的形式的,這樣的參數(shù)應(yīng)該如何通過url反抓來獲得呢?
與上述方法類似,不同的是:

reverse_url =reverse('book:details')+"?next=/"

這樣就可以實(shí)現(xiàn)帶請(qǐng)求參數(shù)的url反轉(zhuǎn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容