0

これは私の UserLoginResource です:

class UserLoginResource(ModelResource):

    class Meta:
        object_class = User
        queryset = User.objects.all()
        allowed_methods = ['post','get']
        include_resource_uri = False
        resource_name = 'login'
        excludes = ['is_active','is_staff','is_superuser']
        authentication = SillyAuthentication()
        authorization = SillyAuthorization()

    def obj_create(self, bundle, request=None, **kwargs):
        try:
            bundle = super(UserLoginResource, self).obj_create(bundle,request,**kwargs)
            bundle.obj.set_password(bundle.data.get('password'))
            bundle.obj.set_username(bundle.data.get('username'))
            bundle.obj.save() 
            return bundle
        except IntegrityError:
            raise BadRequest('The username exists')

    def dehydrate(self,bundle):
        bundle.data['custom_field'] = "Whatever you want"
        return bundle

既に存在するユーザー名とパスワードを使用して投稿すると、整合性エラーを示す 500 エラーが発生し、ユーザー名が既に存在します。

  1. ログイン方法を教えてください。
  2. エラーが発生した場合でも (ユーザー名が存在しないとしましょう。エラー応答をきれいにするにはどうすればよいですか?
4

1 に答える 1

0
  1. このコードを使用すると、ユーザーオブジェクトを作成し、ログインしません

  2. Tastypie.validation を参照

于 2012-10-04T16:11:58.457 に答える