如何在Django的基于函数的视图中解析GET请求的一部分

xkrw2x1b  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(110)

我将这个URL传递给Django的基于函数的视图:
第一个月
上面URL中的数字1是数据库中的ID字段。我希望由上面的URL触发的基于函数的视图能够解析URL中的ID(本例中为1),以便以后可以使用它从数据库中获取条目。
我的问题是如何从URL中解析出这个ID?
我的function_based视图目前看起来像这样:

def display_listing(request):
  print(f"request: {request}\n")
  ... <more code to come here>...
  return render(request, 'auctions/test.html', {"id": "id"})

字符串
输出量:
request: <WSGIRequest: GET '/display_listing/1'>
上面的输出告诉我,视图确实收到了正确的ID(数字1),现在我需要以某种方式将其放入变量中。我是Django的新手,会感谢任何提示。
我在谷歌上搜索了一个解决方案,到目前为止还没有找到。

yqyhoc1h

yqyhoc1h1#

在路径中,您指定它应该捕获一个数字序列,并将其放入名为pk的参数中:

urlpatterns = [
    path('display_listing/<int:pk>/', display_listing),
]

字符串
在视图中添加一个pk参数:

def display_listing(request, pk):
    # …
    return render(request, 'auctions/test.html', {'id': pk})

注意:请不要命名变量id,它会覆盖id**内置函数[Python-doc]的引用。例如pk

相关问题