0

私は奇妙な問題に遭遇しました....私はローカル開発で完全に正常に動作する次のコードを持っていますが、プロジェクト開発サーバーで同じものを使用すると、KeyErrorが発生します: 'firstname'どちらか非常に愚かなものがありませんここ、または私が手がかりがない何か。

def register(self,request, **kwargs):


        try:    
            data = self.deserialize(request, request.raw_post_data, format=request.META.get('CONTENT_TYPE', 'application/json'))
            print data
            print " reached register"
            email = data['email']
            password = data['password']
            firstname = data['firstName']
            lastname = data['lastName']
            newdata = {'email' : email , 'password1': password , 'password2':password, 'firstname':firstname , 'lastname':lastname }

ログ出力は次のとおりです。

[Wed Jul 31 21:42:24 2013] [error] {u'lastName': u'Adams', u'password': u'pass', u'email': u'samad@g.com', u'firstName': u'Sam'}
[Wed Jul 31 21:42:24 2013] [error]  reached register
[Wed Jul 31 21:42:24 2013] [error] ERROR:root:'firstname'
[Wed Jul 31 21:42:24 2013] [error] Traceback (most recent call last):
[Wed Jul 31 21:42:24 2013] [error]   File "/home/ubuntu/djangoEC/userdetails/api.py", line 102, in register
[Wed Jul 31 21:42:24 2013] [error]     firstname = data['firstName']
[Wed Jul 31 21:42:24 2013] [error] KeyError: 'firstname'

ふう、何かアイデアはありますか?

4

2 に答える 2

1

あなたのコードは を検索します'firstName'が、例外には'firstname'. ケースに注意してください。実際のコードが'firstname'含まれているか(または実際のデータが含ま'firstname'れているか、その他の場合の不一致エラー)、またはdataルックアップでキーを小文字にする奇妙な辞書のようなオブジェクトです。それが最初の答えだと思います。

于 2013-08-01T03:01:26.193 に答える