예제 #1
0
 def handle(self, *args, **options):
     print("Start creating users")
     User.objects.all().delete()
     Profile.objects.all().delete()
     f = open(path.join(BASE_DIR, "data", "users.json"))
     raw = f.read()
     f.close()
     js = json.loads(raw)
     for i in js:
         p = Profile()
         u = User()
         u.username = i['username']
         u.email = i['username']
         u.set_password(i['password'])
         u.is_active = True
         if i['is_admin']:
             u.is_superuser = True
             u.is_staff = True
         u.save()
         p.user = u
         p.wins = i['wins']
         p.lose = i['lose']
         p.leave = i['leave']
         p.all = i['all']
         p.coins = i['coins']
         p.phone = i['phone']
         p.rating = i['rating']
         p.birthday = i['birthday']
         p.gender = i['gender']
         p.country = i['country']
         p.save()
         print i['username']
예제 #2
0
 def post(self, request, *args, **kwargs):
     account = self.request.data["account"]
     password = self.request.data["password"]
     u_type = self.request.data.get("u_type", 1)
     valid_code = self.request.data["valid_code"]
     rpt_password = self.request.data["rpt_password"]
     nickname = self.request.data.get("nickname")
     if password != rpt_password:
         return Response({"detail": "密码不相同"},
                         status=status.HTTP_400_BAD_REQUEST)
     User = get_user_model()
     account_type, username = get_username(account)
     if not nickname:
         nickname = username
     cache_key = "code_%s_%s" % ("register", account)
     cache_vcode = cache.get(cache_key)
     if str(valid_code) != "1984" and valid_code != str(cache_vcode):
         return Response({"detail": "验证码不符,请重新输入"},
                         status=status.HTTP_400_BAD_REQUEST)
     try:
         new_user = User(username=username,
                         password=make_password(password))
         new_user.save()
         profile_obj = Profile(user=new_user,
                               u_type=u_type,
                               nickname=nickname)
         if u_type == 1:
             new_coach = Coach(user=new_user, )
             new_coach.save()
         else:
             new_member = Member(user=new_user)
             new_member.save()
         if account_type == "phone":
             # 手机号注册
             profile_obj.phone = account
         else:
             # 邮箱注册
             new_user.email = account
             new_user.save()
         profile_obj.save()
         Token.objects.get_or_create(user=new_user)
         init_new_user.delay(user_id=new_user.id)
     except IntegrityError:
         return Response({"detail": "注册帐户已存在, 请直接登录"},
                         status=status.HTTP_400_BAD_REQUEST)
     return Response({"detail": "注册成功"}, status=status.HTTP_201_CREATED)