亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django url 傳遞任意數量的參數,以 / 分隔

Django url 傳遞任意數量的參數,以 / 分隔

弒天下 2023-09-19 17:11:51
如何定義 URL 模式,以便可以向 URL 傳遞所需數量的參數?我確實研究了文檔和其他 stackoverflow 問題,但沒有找到類似的內容。我需要它作為電子商務網站的過濾器。我想實現這樣的目標:urlpatterns = [    path('test/<str:var1>-<str:var2>/<str:var3>-<str:var4>/...', views.test, name='test'),]在我的視圖函數中,我會這樣定義它:def test(request, *args, **kwargs):    # Do whatever you want with kwargs    return HttpResponse('Test')
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

我認為這是創建路徑的錯誤方法,如果您想將其用作過濾器而不是在路徑中使用它,則應該使用 url 參數作為 get 請求。

但如果您堅持這樣做,您可以使用正則表達式“re_path”

# urls.py


from django.urls import path, re_path

from django.conf.urls import url

from myapp import views


urlpatterns = [

? ? re_path(r'^test/(?P<path>.*)$', views.test, name='test'),

? ? # or use url instead it's same thing

? ? url(r'^test/(?P<path>.*)$', views.test, name='test'),

]


查看完整回答
反對 回復 2023-09-19
?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

您考慮過使用query_params嗎?

那是path('test', views.test, name='test')

網址:/test/?filter=asd...

然后通過視圖中的請求訪問它:

def test(request):
    params = request.GET.get('filter', None)
        return HttpResponse()

看看你是否能像這樣解決你的問題:)


查看完整回答
反對 回復 2023-09-19
  • 2 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號