Django rest framework - исключить конечную точку из аутентификации - PullRequest
0 голосов
/ 29 августа 2018

Мне нужно сделать представление доступным без аутентификации, основываясь на переменной, переданной в urls.py .

Моя идея примерно такая:

urls.py

    url(r'^oidc-api/', include('api.urls'), {'logged': True})

views.py

    class ExampleViewSet(ModelViewSet):

      if logged: # How can I get this variable, passed in urls.py?
        permission_classes = () # This will exclude current view from authentication

      queryset = Widget.objects.filter(visible=True)
      serializer_class = ExampleSerializer
      filter_backends = (DjangoFilterBackend,)
      filter_fields = ('example_id',)

Однако я не могу получить доступ к logged переменной, которая передается из urls.py .

John

1 Ответ

0 голосов
/ 30 августа 2018

Вы не можете этого сделать.

Вы можете удалить эти классы разрешений из представлений вручную или установить для них пустой набор как

class ExampleViewSet(ModelViewSet):
    <b>permission_classes = ()</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...