2
class CreateUserResource(ModelResource):
class Meta:
allowed_methods = ['post']
object_class = User
authentication = ApiKeyAuthentication()
authorization = DjangoAuthorization()
include_resource_uri = False
fields = ['username']
models.signals.post_save.connect(create_api_key, sender=User)
def obj_create(self, bundle, request=None, **kwargs):
username, password = bundle.data['username'], bundle.data['password']
#try:
bundle.obj = User.objects.create_user(username, '', password)
#except IntegrityError:
#raise BadRequest('That username already exists')
#return bundle
이 리소스를 사용하여 새 사용자를 만듭니다. 하지만 이렇게하려면 api_key가 필요합니다. 나는 익명으로 api_key를 어떻게 얻을 수 있습니까?어떻게 장고와 tastypie 익명 사용자를 등록 할 수 있습니까?
확인 : DB 테이블 'tastypie_apikey'의 항목은 ...
이 인증되지 않은하면서 내가 사용자 계정을 만드는 방법이다. 내 코드를 편집했습니다. 이제 또 다른 질문이 있습니다 : api_key가 새로운 사용자를 요청할 새로운 사용자를 성공적으로 생성 한 후? – Burak
처음에는'user = User.objects.get (id = bundle.obj.id)'가 다소 어리 석고'bundle.obj.groups.add (group)'는 괜찮을 것입니다 ... 음, 처음에는 당신은 테이블 tastypie_apikey를 검사하여'models.signals.post_save.connect (create_api_key, sender = User)'가 작동하는지 확인해야합니다 ... 키를 가져 오는 것은 사용자 생성 직후 상당히 간단합니다 : 'apikey = ApiKey.objects .get (user = bundle.obj)' – Martin