Данные POST только в том случае, если вы прошли аутентификацию пользователя – платформа отдыха djangoPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Данные POST только в том случае, если вы прошли аутентификацию пользователя – платформа отдыха django

Сообщение Гость »


models.py

class OpeningHours(models.Model): day_of_week = models.IntegerField(choices=((0, 'Sunday'), (1, 'Monday'), (2, 'Tuesday'), (3, 'Wednesday'), (4, 'Thursday'), (5, 'Friday'), (6, 'Saturday'))) opening_time = models.TimeField() closing_time = models.TimeField() serializer.py

class OpeningHoursSerializer(serializers.ModelSerializer): class Meta: model = OpeningHours fields = '__all__' read_only_fields = ("user",) views.py

class OpeningHoursViewSet(viewsets.ModelViewSet): queryset = OpeningHours.objects.all() serializer_class = OpeningHoursSerializer authentication_classes = [CustomAuthentication] permission_classes = [permissions.IsAuthenticatedOrReadOnly] def perform_create(self, serializer): serializer.save(user=self.request.user) authentication.py

class CustomAuthentication(authentication.BaseAuthentication): def authenticate(self, request): username = request.META.get('HTTP_USERNAME') if not username: return None try: user = User.objects.get(username=username) except User.DoesNotExist: raise exceptions.AuthenticationFailed('No such user') return (user, None) I want only authenticated user to be able to perform POST method . I have set the key as HTTP_USERNAME and value as username (which I have created in Django admin) on postman header before making a post request but I'm still getting error:

"detail": "Authentication credentials were not provided." }

How do I solve this?


Источник: https://stackoverflow.com/questions/780 ... -framework
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»