2

開発中はローカルホストで正常に動作しますが、サーバーにデプロイすると空のリクエストが表示されます。

class MyPinResource(Resource):
    pin = fields.CharField(attribute='pin', null=True)

    class Meta:
        resource_name = 'my-pin'
        authentication = ApiKeyAuthentication()
        authorization = DjangoAuthorization()
        always_return_data = True
        include_resource_uri = False
        object_class = ApiObject
        allowed_methods = ['post']

    def detail_uri_kwargs(self, bundle_or_obj):
        if isinstance(bundle_or_obj, Bundle):
            return { 'domain': bundle_or_obj.obj }
        else:
            return { 'domain': bundle_or_obj }


    def obj_create(self, bundle, request=None, **kwargs):
        site_id = None
        if 'site_id' in request.GET and request.GET['site_id']:
            site_id = request.GET['site_id']
        else:
            LOG.error('site_id is required!')
            raise Exception

"error_message":"'NoneType'オブジェクトには属性'GET'がありません"

AttributeError:'NoneType'オブジェクトに属性'GET'がありません

このエラーは、request.GETの呼び出しがある場合のobj_create内にあります。

何が間違っている可能性がありますか?空のリクエストを持つことは可能ですか?助けていただければ幸いです:)

4

3 に答える 3

2

コメントに書いたように、問題はおそらくバージョンです。このgithubの問題を確認してください。0.9.12を使用している場合は、requestのにアクセスできます。bundle

于 2013-02-21T23:59:30.977 に答える
0

こちらのドキュメントに記載されているように、bundle.requestを介してリクエストオブジェクトにアクセスできます

于 2013-02-21T23:26:01.247 に答える
0

pipからインストールされている現在のおいしいバージョンは0.9.12です。このバージョンでは、obj_createは2つのパラメタを取得します。

def obj_create(self, bundle, **kwargs):

それ以外の:

def obj_create(self, bundle, request=None, **kwargs):

以前のバージョンでは。

これで、bundle.requestを使用してバンドルからリクエストを取得できます。

于 2013-02-21T23:32:42.430 に答える