0

私はdjangoとpythonの開発に不慣れで、例外の処理方法を理解していません。

メソッド register を呼び出して API 呼び出しを介してユーザーを登録しています。登録中に成功ステータスまたはエラー メッセージをプッシュしたいと考えています。

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

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

            registrationform = UserEmailRegistrationForm(newdata)
            print registrationform.errors.as_text
            print registrationform.cleaned_data
            cleaned_data = registrationform.cleaned_data
            if Site._meta.installed:
                site = Site.objects.get_current()
            else:
                site = RequestSite(request)

            new_user = RegistrationProfile.objects.create_inactive_user(cleaned_data['username'],cleaned_data['email'],cleaned_data['password1'], site)
            signals.user_registered.send(sender=self.__class__,
                                         user=new_user,
                                         request=request,**cleaned_data)
            registerUser = collections.OrderedDict()
            registerUser['return']='0'
            registerUser['code']='0'
            registerUser['message']='registered user'
            return HttpResponse(registerUser, content_type="application/json")
        except Exception, e:
            logging.exception(e)
            registerUser = collections.OrderedDict()
            registerUser['return']='0'
            registerUser['code']='0'
            registerUser['message']='registered user'
            return HttpResponse(registerUser, content_type="application/json")

たとえば、既に登録されている電子メールでこれを実行すると、registrationform.errors.as_text に次のように表示されます。

bound method ErrorDict.as_text of {'email': [u'A user with that email already exists.']}>

フォームが検証され、ユーザーが登録された場合は成功メッセージを渡し、検証エラーがあった場合はエラー メッセージを渡すことができるように、例外をコーディングする正しい方法は何でしょうか?

どんな助けでも大歓迎です!

4

1 に答える 1