Django REST 框架 URLPathVersioning 不工作

Django REST Framework URLPathVersioning not working

我按照指南 here 将版本控制添加到我们的 API。这是 urls.py 的样子:

from django.conf.urls import url
from django.contrib import admin
from django.urls import path

from api import views

urlpatterns = [    url(
        r'^(?P<version>(v1|v2))/foo/bar',
        views.foo_bar,
    ),
]

但是,当我用 URL http://localhost:5555/v1/foo/bar 击中我的 API 时,我得到一个错误:

TypeError at /v1/foo/bar
foo_bar() got an unexpected keyword argument 'version'

您的 foo_bar 视图很可能不接受参数 version

需要定义为:

def foo_bar(request, version):
    ...