获取Django rest fram中URL其余参数的正确方法

2024-04-24 07:28:20 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我正在使用Django rest框架创建一个API

在我的py网址档案我有这个

  url(r'^cpuProjects/$', cpuProjectsViewSet.as_view({'get': 'list'})),
  url(r'^cpuProjects/(?P<project_name>[a-zA-Z0-9]+)$', cpuProjectsViewSet.as_view({'get': 'retrieve'})),

这个工作很好,我有这个网址

^{pr2}$

在我的检索函数中,我有这个来获取参数

  def retrieve(self, request, project_name=None):
    try:
      opc = self.kwargs.get(self.lookup_url_kwarg)
      print(opc)
      ...

现在,我把这个加到我的网址.py文件

url(r'^cpuProjects/(?P<project_name>[a-zA-Z0-9]+/[a-zA-Z0-9]+)$', cpuProjectsViewSet.as_view({'get': 'retrieve'})),


http://127.0.0.1:8000/cpuProjects/name_project/whatever_string_here

我的print(opc)在最后一个例子中返回这个ad/pending。在

这是在Django rest框架中获取URL其余参数的正确方法吗?在


Tags: djangonameselfprojectviewurlgetas
1条回答
网友
1楼 · 发布于 2024-04-24 07:28:20

这个组的整个路径都被包装在同一个名为regex的url中。相反,可以通过将尾随部分放在不同的组中来分隔尾随部分:

url(r'^cpuProjects/(?P<project_name>[a-zA-Z0-9]+)/(?P<status>[a-zA-Z0-9]+)$', ...),

在你看来:

^{pr2}$

相关问题 更多 >