我正在使用 DRF 并遇到了这个问题。我有一个第三方视图,我将其导入到我的urls.py文件中,如下所示:
from some_package import some_view
urlpatterns = [
path('view/',some_view)
]
Run Code Online (Sandbox Code Playgroud)
但我面临的问题是因为我已经启用了默认权限类,settings.py如下所示:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES':(
'rest_framework.permissions.IsAuthenticated',
),
}
Run Code Online (Sandbox Code Playgroud)
现在,当我使用 url 调用该视图时,它给了我身份验证错误,因为我没有提供令牌。有没有办法可以绕过身份验证错误而不必直接更改视图,我知道我们可以删除权限特定视图,但为此我必须对该some_view功能代码进行更改。但我不想这样做,假设我们无权访问该功能,我们只能传递数据并接收响应。如何绕过身份验证而不必更改该功能代码。我尝试搜索,但找不到我要找的东西。
我假设可能有某种方式我们可以从 urls.py 中做到这一点,例如指定任何参数或类似的东西,使该特定视图绕过身份验证而无需更改函数代码。
像这样的东西:
from some_package import some_view
urlpatterns = [
path('view/',some_view,"some_parameter") #passing someparameter from here or something like that
]
Run Code Online (Sandbox Code Playgroud)
有可能是我在找什么吗?提前致谢 :)
python django django-rest-framework django-rest-auth django-rest-framework-simplejwt