Skip to main content
 首页 » 编程设计

python之如何为 Django 路径分配默认值

2024年09月03日32qq号

我正在构建一个 Django API,我的路径之一在 urls.py 中是: path('device_id/<str:device_id>/readings/<int:num_readings>, views.results, name='results')

如果用户指定了设备 ID 但未输入多个读数,我想避免收到 404。我想将读数的默认值指定为 10。

此 url 连接到名为results

的 View

def results(request, device_id, readings):

例如,如果用户转到: device_id/2132/readings/ 我希望在 results View 中显示 device_id = 2132 和 readings=10

device_id/2132/readings/24 我希望在 results View 中显示 device_id = 2132 和 readings=24

请您参考如下方法:

添加另一个路径,将默认值添加到 kwargs,例如:

urlpatterns = [ 
    path( 
        'device_id/<str:device_id>/readings/<int:num_readings>', 
        views.results, 
        name='results' 
    ), 
    path( 
        'device_id/<str:device_id>/readings/', 
        views.results, 
        name=<b>'results10'</b> 
        <b>kwargs={'num_readings': 10}</b> 
    ), 
    # ... 
]

所以这里的第二个 View 是一个没有 num_readings 变量的路径,但是 kwargs 是一个包含要传递给 View 的附加(命名)参数的字典。