我正在构建一个 Django API,其中 urls.py
中的路径之一是:path('device_id/<str:device_id>/readings/<int:num_readings>, views.results, name='results')
如果用户指定了设备 ID 但没有输入大量读数,我想避免获得 404。我希望将读数的默认值指定为 10。
此 url 连接到名为 结果的 View def results(request, device_id, readings):
例如,如果用户访问:device_id/2132/readings/
我想在 结果 View 中使用 device_id = 2132 和 readings=10device_id/2132/readings/24
我想在 结果 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='results10'
kwargs={'num_readings': 10}
),
# ...
]
所以这里的第二个 View 是一个没有
num_readings
变量的路径,但 kwargs
是一个包含要传递给 View 的附加(命名)参数的字典。关于python - 如何为 Django 路径分配默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54505840/