2

それは私を夢中にさせています:

  • Tastypie カスタム リソース (ModelResource ではない) があります。
  • 「主キー」に「スペース」(%20 コード) を許可する必要があります。例えば:

    localhost:8000/api/v1/collections/i%20am%20a%20space/

  • 「\s」を使用して正規表現を追加するとGET (obj_get)、 、PUT (obj_update) およびDELETE (obj_delete)

    def override_urls(self):
    return [url(r"^(?P<resource_name>%s)/(?P<name>[\w\d\s_.-]+)/$" % self._meta.resource_name, self.wrap_view('dispatch_detail'), name="api_dispatch_detail")]
    
  • 問題は次のobj_get_listとおりです。オブジェクト リストを返すときに、スペースが存在する場合、パラメータresource_uriは空です。関数reverse(django.core.urlresolvers) でコードが失敗し、 NoReverseMatch例外が発生します。

Tastypie の base_urls を上書きしようとしましたが、うまくいきませんでした。初心者の質問かもしれませんが、約1か月前にdjangoとpythonを使い始めたことを考慮してください。私は初心者です:-P

4

1 に答える 1

0

正規表現で「pk」の「名前」を変更しただけです。

^(?P<resource_name>%s)/(?P<name>[\w\d\s_.-]+)/$
于 2012-07-19T09:05:20.150 に答える