コード例 #1
0
 def process_POST(self):
     form = {}
     form['uname'] = self.request.POST.get('username', None)
     form['fname'] = self.request.POST.get('first_name', None)
     form['lname'] = self.request.POST.get('last_name', None)
     form['email'] = self.request.POST.get('email', None)
     picture = self.request.FILES.get('pic', None)
     password = self.request.POST.get('password', None)
     cpassword = self.request.POST.get('cpassword', None)
     
     try:
         DataChecker.check_username(form['uname'])
         DataChecker.user_exists(form['uname'])
         DataChecker.check_first_name(form['fname'])
         DataChecker.check_last_name(form['lname'])
         DataChecker.check_email(form['email'])
         DataChecker.check_password(password, cpassword)
         
         user = Profile()
         user.username = form['uname']
         user.first_name = form['fname']
         user.last_name = form['lname']
         user.email = form['email']
         user.set_password(password)
         
         if picture:
             user.pic = picture
         
         user.save()
         
         # User is logged in without typing again its data
         user = authenticate(username=form['uname'], password=password)
         login(self.request, user)
         
         messages.success(self.request, UserMsgs.USER_CREATED)
         return HttpResponseRedirect('/profile/%s/' % user.username)
     except DataError, error:
         messages.error(self.request, error.msg)
         
         return render_to_response('profile_creation_form.html', \
                 {'form': form,}, \
                 context_instance=RequestContext(self.request))