простое перенаправление с помощью фреймворка Django REST

#django #django-rest-framework

Вопрос:

Я хочу выполнить простую обработку перенаправления. От /api/v1/piyo/piyopiyo/<id>/ до /api/v1/hoge/huga/<id>/

Я думал, что это возможно с помощью RedirectView, но он работает следующим образом. Пожалуйста, скажите мне, как установить urls.py.

urls.py

 from rest_framework import routers
from apiv1.views import hoge
from django.urls import include, path

router = routers.SimpleRouter()
router.register('hoge/huga', hoge.HugaViewSet, basename='Huga')
urlpatterns = [
    path('', include(router.urls)),
    # target redirect settings
    re_path(
        'piyo/piyopiyo/.*

url-адрес доступа

 1. /api/v1/piyo/piyopiyo/346c7932-e9e3-4735-9729-eb50fa29c466/
2. /api/v1/piyo/piyopiyo/346c7932-e9e3-4735-9729-eb50fa29c466/hoge/huga
3. /api/v1/piyo/piyopiyo/346c7932-e9e3-4735-9729-eb50fa29c466/hoge/hoge/huga
...
10. /api/v1/piyo/piyopiyo/346c7932-e9e3-4735-9729-eb50fa29c466/hoge/hoge/hoge/hoge/hoge/hoge/hoge/hoge/hoge/hoge/huga
 

исправлено 10 раз. аборт.

маршрутизатор.url-адреса

 [<URLPattern '^hoge/huga/(?P<pk>[^/.] )/

Подтверждено с. print(router.urls)  


Комментарии:

1. Можете ли вы включить свои router.urls и views

2. Если вам необходимо использовать параметры динамического URL-адреса для создания URL-адреса для перенаправления (и вы не перенаправляете на статический URL-адрес), рассмотрите возможность создания подклассов и реализации get_redirect_url , как описано в документах: docs.djangoproject.com/en/3.1/ref/class-based-views/base/...

3. комментарий thx. добавлен маршрутизатор.url-адреса. Как мне проверить просмотры ?

4. На ваш api взгляд, там будет файл под названием views.py . Возможно, вы перенаправляете URL-адрес слишком много раз в api.views.hoge

,
RedirectView.as_view( url='hoge/huga')),
]

url-адрес доступа


исправлено 10 раз. аборт.

маршрутизатор.url-адреса


Подтверждено с. print(router.urls)

Комментарии:

1. Можете ли вы включить свои router.urls и views

2. Если вам необходимо использовать параметры динамического URL-адреса для создания URL-адреса для перенаправления (и вы не перенаправляете на статический URL-адрес), рассмотрите возможность создания подклассов и реализации get_redirect_url , как описано в документах: docs.djangoproject.com/en/3.1/ref/class-based-views/base/...

3. комментарий thx. добавлен маршрутизатор.url-адреса. Как мне проверить просмотры ?

4. На ваш api взгляд, там будет файл под названием views.py . Возможно, вы перенаправляете URL-адрес слишком много раз в api.views.hoge

[name='HogeHuga-detail']>]
Подтверждено с. print(router.urls)

Комментарии:

1. Можете ли вы включить свои router.urls и views

2. Если вам необходимо использовать параметры динамического URL-адреса для создания URL-адреса для перенаправления (и вы не перенаправляете на статический URL-адрес), рассмотрите возможность создания подклассов и реализации get_redirect_url , как описано в документах: docs.djangoproject.com/en/3.1/ref/class-based-views/base/…

3. комментарий thx. добавлен маршрутизатор.url-адреса. Как мне проверить просмотры ?

4. На ваш api взгляд, там будет файл под названием views.py . Возможно, вы перенаправляете URL-адрес слишком много раз в api.views.hoge

,
RedirectView.as_view( url=’hoge/huga’)),
]

url-адрес доступа


исправлено 10 раз. аборт.

маршрутизатор.url-адреса


Подтверждено с. print(router.urls)

Комментарии:

1. Можете ли вы включить свои router.urls и views

2. Если вам необходимо использовать параметры динамического URL-адреса для создания URL-адреса для перенаправления (и вы не перенаправляете на статический URL-адрес), рассмотрите возможность создания подклассов и реализации get_redirect_url , как описано в документах: docs.djangoproject.com/en/3.1/ref/class-based-views/base/…

3. комментарий thx. добавлен маршрутизатор.url-адреса. Как мне проверить просмотры ?

4. На ваш api взгляд, там будет файл под названием views.py . Возможно, вы перенаправляете URL-адрес слишком много раз в api.views.hoge