DjangoにおいてURLで末尾スラッシュがない場合、デフォルトではスラッシュををつけてリダイレクトすると思うのですが、その場合にリクエストストリングやリクエストボディなどをつけてリダイレクトするにはどうすればよいでしょうか
よろしくお願いします。
urlpatterns = [ path('api/v1/test/', include('test.urls')), ]
Django 2.1
python 3.7
CentOS 7.6
リクエストストリングというのは何でしょうか? 所謂クエリストリングのことであれば、デフォルトの `APPEND_SLASH = True` による自動リダイレクトの際に引き継がれるかと思います。
https://docs.djangoproject.com/ja/2.1/ref/settings/#append-slash
但し、 HTTP リダイレクトでは「ステータスコードとリダイレクト先をレスポンスで返し、ユーザエージェントにリクエストを再送させる」という仕組み上、サーバ側のリクエストのメッセージボディを引き継ぐことは出来ませんから、どうしても末尾スラッシュの有無に関係なくメッセージボディ付きの要求を受け付けたいのであれば、末尾スラッシュが有っても無くても同じビューを呼び出すような URLconf を書くしかないように思います。
ご回答ありがとうございます
返信遅れてすみません
すでにurlconfで以下の設定は試してみたのですが、Warningが出て、無視されてしまいます
```
urlpatterns = [
path('api/v1/test/', include('test.urls')),
path('api/v1/test', include('test.urls')),
]
```
`WARNINGS:
?: (urls.W005) URL namespace 'test' isn't unique. You may not be able to reverse all URLs in this namespace`

回答1件
あなたの回答
tips
プレビュー