0

Django で Tastypie を使用してアプリ用の REST ベースの API を作成しています。問題は、Tastypie のデフォルトの API URL に、URL パターンにバージョン情報が含まれていることです。

http://lx:3001/api/v1/vservers/?username=someuser&api_key=someapikey

次のように、URL を API バージョン情報から解放したい:

http://lx:3001/api/vservers/?username=someuser&api_key=someapikey

urls.py

v1_api = Api()
v1_api.api_name = ''
v1_api.register(UserResource())
...
url(r'^api/', include(v1_api.urls)),

まだ空文字列で api_name を上書きしています

http://lx:3001/api/vservers/?username=someuser&api_key=someapikey動作しません。

バージョン情報を完全に削除するにはどうすればよいですか?

ありがとう..

4

2 に答える 2

3

関連するすべてのビットを削除するためにサブクラス化Apiおよびオーバーライドします。urlsapi_name

class MyApi(Api):
    @property
    def urls(self):
        """
        Provides URLconf details for the ``Api`` and all registered
        ``Resources`` beneath it.
        """
        pattern_list = [
            url(r"^%s$" % trailing_slash(), self.wrap_view('top_level'), name="api_top_level"),
        ]

        for name in sorted(self._registry.keys()):
            pattern_list.append((r"^/", include(self._registry[name].urls)))

        urlpatterns = self.override_urls() + patterns('',
            *pattern_list
        )
        return urlpatterns
于 2012-10-18T19:01:03.627 に答える