Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django rest框架中获取URL其余参数的正确方法_Python_Django_Django Rest Framework_Django Cms - Fatal编程技术网

Python 在Django rest框架中获取URL其余参数的正确方法

Python 在Django rest框架中获取URL其余参数的正确方法,python,django,django-rest-framework,django-cms,Python,Django,Django Rest Framework,Django Cms,大家好,我正在使用Django rest框架创建一个API 在我的url.py文件中,我有一个 url(r'^cpuProjects/$', cpuProjectsViewSet.as_view({'get': 'list'})), url(r'^cpuProjects/(?P<project_name>[a-zA-Z0-9]+)$', cpuProjectsViewSet.as_view({'get': 'retrieve'})), 在我的retrieve函数中,我用这个

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

在我的url.py文件中,我有一个

  url(r'^cpuProjects/$', cpuProjectsViewSet.as_view({'get': 'list'})),
  url(r'^cpuProjects/(?P<project_name>[a-zA-Z0-9]+)$', cpuProjectsViewSet.as_view({'get': 'retrieve'})),
在我的retrieve函数中,我用这个来获取参数

  def retrieve(self, request, project_name=None):
    try:
      opc = self.kwargs.get(self.lookup_url_kwarg)
      print(opc)
      ...
现在,我将其添加到我的url.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
url(r'^cpuProjects/(?P[a-zA-Z0-9]+/[a-zA-Z0-9]+)$,cpuProjectsViewSet.as_视图({'get':'retrieve')),
http://127.0.0.1:8000/cpuProjects/name_project/whatever_string_here
My
print(opc)
在最后一种情况下,返回此
ad/pending


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

您将URL的整个路径包装在同一个正则表达式命名的组中。相反,您可以将尾随部分放在不同的组中来分隔尾随部分:

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

您将url的整个路径包装在同一个正则表达式命名的组中。相反,您可以将尾随部分放在不同的组中来分隔尾随部分:

url(r'^cpuProjects/(?P<project_name>[a-zA-Z0-9]+)/(?P<status>[a-zA-Z0-9]+)$', ...),
def retrieve(self, request):
    try:
        opc = self.kwargs.get(self.lookup_url_kwarg)
        status = self.kwargs.get('status')
        ...