アプリケーションにAPIを提供するためにtastypieを使用しています。末尾にスラッシュを付けずにURLを使用することを好みます。/api/v1/entry/set/1;3
私はよりも好きです/api/v1/entry/set/1;3/
。djangoのAPPEND_SLASHをオフにし、TASTYPIE_ALLOW_MISSING_SLASHをオンにしました。
これはうまく機能しますが、ドキュメント内のおいしいメモが末尾のスラッシュなしでは機能しないget_multiple(/ set)を除きます。tastypieコードからのURL正規表現は次のとおりです。
# Due to the way Django parses URLs, ``get_multiple`` won't work without
# a trailing slash.
...
url(r"^(?P<resource_name>%s)/set/(?P<%s_list>\w[\w/;-]*)/$" %
(self._meta.resource_name, self._meta.detail_uri_name),
self.wrap_view('get_multiple'), name="api_get_multiple"),
...
私はこれが真実であることを確認しました。APPEND_SLASHが有効になっている場合は正常/api/v1/notes/set/2;1
に一致しますが、上記の正規表現のを変更して、djangoがパターンと一致しないようにします。/api/v1/notes/set/2;1/
/
/?
re
モジュールを手動で使用しようとすると、パターンが正しく一致します。djangoが末尾のスラッシュなしでURLと一致しないのはなぜですか?