Python 在Django rest框架中获取URL其余参数的正确方法
大家好,我正在使用Django rest框架创建一个API 在我的url.py文件中,我有一个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函数中,我用这个
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
Myprint(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')
...