bimka
@bimka
Осваиваю Питон

Почему при добавлениии пути в url выпадает 404?

Создается обычное CRUD приложение на DRF на основе туториала.

При обращении url:
path('api/record/get?uuid=<uuid:pk>', TaskDetail.as_view(), name='retrieve-task')
выдает ошибку 404.
127.0.0.1:8000/task/api/record/get?uuid=75491ea0-e...

А при обращении
path("<uuid:pk>", TaskDetail.as_view(), name='retrieve-task')
все работает ОК.
127.0.0.1:8000/task/75491ea0-eef1-496d-8b9f-df1d89...

Почему при сокращенном варианте url все работает, но при добавлении "api/record/get?uuid=" выходит ошибка?
Как сделать чтобы работало с добавлением "api/record/get?uuid="?

# models.py
class Task(models.Model):
    uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True)
    created = models.DateField(auto_now_add=True)
    body = models.TextField()
    active = models.BooleanField(default=True)

    def __str__(self):
        return self.name

# views.py
class TaskDetail(generics.RetrieveAPIView):
    # API endpoint that returns a single task by pk.
    queryset = Task.objects.all()
    serializer_class = TaskSerializer

#serializers.py
class TaskSerializer(serializers.ModelSerializer):

    class Meta:
        model = Task 
        fields = ['uuid', 'created', 'body', 'active']

#urls.py
urlpatterns = [
    path('api/record/create/', TaskCreate.as_view(), name='create-task'),
    path('api/records/all', TaskList.as_view()),
    path('api/record/get?uuid=<uuid:pk>', TaskDetail.as_view(), name='retrieve-task'),
    path('api/record/delete?uuid=<uuid:pk>', TaskDelete.as_view(), name='delete-task')
]
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы