99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

Django4.0 URL調(diào)度器-傳遞額外選項(xiàng)給視圖函數(shù)

2022-03-16 17:42 更新

URLconfs 有鉤子來(lái)允許你把其他參數(shù)作為 Python 字典來(lái)傳遞給視圖函數(shù)。

?path()? 函數(shù)可帶有可選的第三參數(shù)(必須是字典),傳遞到視圖函數(shù)里。

例如:

from django.urls import path
from . import views

urlpatterns = [
    path('blog/<int:year>/', views.year_archive, {'foo': 'bar'}),
]

在這個(gè)例子里,當(dāng)請(qǐng)求到 ?/blog/2005/? 時(shí),Django 將調(diào)用 ?views.year_archive(request, year=2005, foo='bar')? 。

傳遞額外選項(xiàng)給 include()

同樣的,你可以額外其他選項(xiàng)給 ?include()? ,并且已包含的 URLconf 里的每一行將被傳遞額外選項(xiàng)。

例如,下面兩個(gè) URLconf 配置在功能上是相同的:

配置一:

# main.py
from django.urls import include, path

urlpatterns = [
    path('blog/', include('inner'), {'blog_id': 3}),
]

# inner.py
from django.urls import path
from mysite import views

urlpatterns = [
    path('archive/', views.archive),
    path('about/', views.about),
]

配置二:

# main.py
from django.urls import include, path
from mysite import views

urlpatterns = [
    path('blog/', include('inner')),
]

# inner.py
from django.urls import path

urlpatterns = [
    path('archive/', views.archive, {'blog_id': 3}),
    path('about/', views.about, {'blog_id': 3}),
]

注意額外的選項(xiàng)會(huì)一直傳遞給所包含的 URLconf 的每一行,不管視圖是否接受這些額外選項(xiàng)。因此,這個(gè)技巧僅在確定所包含的 URLconf 中的每一個(gè)視圖接受你傳遞的額外選項(xiàng)時(shí)有用。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)