コード例 #1
0
ファイル: api.py プロジェクト: JerryEdensjr/CloudEngine
 def post(self, request):
     data = request.DATA
     try:
         username = data["username"]
         password = data["password"]
     except KeyError as e:
         return Response({"error": "Invalid object."},
                         status=status.HTTP_400_BAD_REQUEST,
                         exception=True)
     #todo: validate username and password
     user = User.objects.create_user(username = username, password = password)
     new_user = AppUser(user = user, app = request.app)
     try:
         new_user.full_clean()
     except ValidationError as e:
         return Response(e.message_dict, status=status.HTTP_400_BAD_REQUEST)
     
     new_user.save()
     user = authenticate(username=username, password=password)
     login(request, user)
     request.session.save()
     return Response({settings.SESSION_COOKIE_NAME : request.session.session_key,
                       "id" : user.id
                     },
                     status=status.HTTP_201_CREATED)
コード例 #2
0
ファイル: api.py プロジェクト: tanwanirahul/CloudEngine
 def post(self, request):
     try:
         #todo: update first_name, last_name and other attributes
         stream = StringIO.StringIO(request.body)
         data = JSONParser().parse(stream)
         username = data["username"]
         password = data["password"]
         
     except Exception as e:
         self.logger.error("Unable to decode object. Error: %s"%str(e))
         return Response({"detail": "Invalid object."},
                         status=status.HTTP_400_BAD_REQUEST,
                         exception=True)
     app =  request.META['app']
     #todo: validate username and password
     user = User.objects.create_user(username = username, password = password)
     new_user = AppUser(user = user, app = app)
     try:
         new_user.full_clean()
     except ValidationError as e:
         return Response(e.message_dict, status=status.HTTP_400_BAD_REQUEST)
     
     new_user.save()
     user = authenticate(username=data["username"], password=data["password"])
     login(request, user)
     request.session.save()
     return Response({settings.SESSION_COOKIE_NAME : request.session.session_key,
                       "id" : user.id
                     },
                     status=status.HTTP_201_CREATED)
コード例 #3
0
def register_user(request):
    user_exist = False
    if request.method == "POST":
        form = RegistrationForm(request.POST)
        if form.is_valid():
            name = request.POST['username']
            current_site = get_current_site(request)
            print current_site
            try:
                user_exist = User.objects.get(username=name)
                print "USER EXIST ---------", user_exist
            except ObjectDoesNotExist:
                password = request.POST['password1']
                user = User.objects.create_user(name,
                                                name,
                                                password,
                                                is_active=False)
                key = ''.join(
                    random.choice(string.digits + string.letters)
                    for _ in range(10))
                app_user = AppUser(user=user,
                                   key_expires=timezone.now() +
                                   datetime.timedelta(minutes=3),
                                   activation_key=key)
                app_user.save()
                # activation_key = key, to = ['*****@*****.**'])
                Thread(target=mail.registration_mail,
                       kwargs={
                           'host': current_site.domain,
                           'activation_key': key,
                           'to': ['*****@*****.**']
                       }).start()
                # mail.registration_mail(activation_key=key, to=['*****@*****.**'])
                print 'mail sent success --------'
                return HttpResponseRedirect(reverse('login'))
    else:
        form = RegistrationForm()
    return render(request, 'login/register.html', {
        'form': form,
        'user_exist': user_exist
    })
コード例 #4
0
 def __subscribe_add_user(self):
     #关注获取用户信息
     openid = self.from_user
     user_info = self.appitem.get_user_info(openid)
     user = self.__get_user()
     if not user:
         user = AppUser(openid=openid)
         user.save()
     try:
         user.nickname = user_info.get('nickname')
         user.sex = user_info.get('sex')
         user.language = user_info.get('language')
         user.city = user_info.get('city')
         user.province = user_info.get('province')
         user.country = user_info.get('country')
         user.headimgurl = user_info.get('headimgurl')
         user.unionid = user_info.get('unionid')
         user.save()
     except:
         pass
     if not self.appitem.app_users.filter(openid=openid).exists():
         self.appitem.app_users.add(user)
     else:
         user.is_guanzhu = True
         user.unionid = user_info.get('unionid')
         user.save()