def register(request): if request.method == 'POST': form = AccountForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] password = form.cleaned_data['password1'] form.save() user = authenticate(username=email, password=password) current_site = get_current_site(request) subject = 'Activate Your Phytochem Database Account' message = render_to_string( 'email_verification/email_verification.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(user.pk)), 'token': account_activation_token.make_token(user), }) user.is_active = False user.save() if user.email_user(subject, message) == 1: messages.success( request, 'Please check your email and confirm the link to complete registration.' ) else: messages.warning(request, 'Failed to confirm email') return redirect('user:register') else: return render(request, 'account/register.html', {'form': form}) else: form = AccountForm() return render(request, 'account/register.html', {'form': form})
def newAccount(request): from account.forms import AccountForm if request.method == "POST": form = AccountForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect("/#account") else: form = AccountForm() ctx = {"form": form} return render_to_response("form.html", ctx, context_instance=RequestContext(request))
def accountsettings_profile(request): if request.user.is_authenticated(): u = request.user p = request.user.get_profile() if request.method == 'POST': account_form = AccountForm(request.POST, request.FILES, instance=p) name_form = AccountNameForm(request.POST, instance=u) if account_form.is_valid() and name_form.is_valid(): p = account_form.save() u = name_form.save() dimentions = (150, 150) if len(request.FILES) == 1: image = request.FILES['image'] p.image.save(image.name, createImage(p.image, dimentions)) return profile(request, u.username) else: variables = _profile_context(request, u.username) variables['account_form'] = account_form variables['name_form'] = name_form return render(request, 'website/accountsettings_profile.html', variables, context_instance=RequestContext(request)) else: variables = _profile_context(request, u.username) variables['account_form'] = AccountForm(instance=p) variables['name_form'] = AccountNameForm(instance=u) return render(request, 'website/accountsettings_profile.html', variables, context_instance=RequestContext(request))
def editAccount(request, id_account): art = getAccountById(id_account) from account.forms import AccountForm if request.method == "POST": form = AccountForm(request.POST, instance=art) if form.is_valid(): form.save() return HttpResponseRedirect("/#edit") else: if art: form = AccountForm(instance=art) else: return HttpResponseRedirect("/#no-exist-such-account") ctx = {"form": form} return render_to_response("form.html", ctx, context_instance=RequestContext(request))
def edit_account(request): if request.is_ajax(): if request.method == 'GET': f = AccountForm(instance=request.user) return HttpResponse( render(request, 'account/edit_account.html', { 'edit_account_form': f }).content.decode('utf-8')) else: f = AccountForm(request.POST, instance=request.user) if f.is_valid(): f.save() data = {} if f.password_changed: data['refresh'] = True user = authenticate( username=f.cleaned_data.get('username'), password=f.cleaned_data.get('new_password2')) if user: auth_login(request, user) accountLogger.info('Password changed for user %s' % user.username) context = {} context['edit_account_form'] = f # context['success_msg'] = "Your account has been updated successfully" # return JsonResponse(status=200, data={'render': render(request, 'account/edit_account.html', context).content.decode('utf-8')}) data[ 'message'] = "Your account settings have been updated successfully." return JsonResponse(status=200, data=data) else: return JsonResponse( status=400, data={ 'errors': dict(f.errors.items()), 'message': 'Please correct the errors as indicated in the form.' }) else: return handle_user_type(request, redirect_request=True)
def myregister(request): """ 注册函数 """ context = RequestContext(request) context_dict = {} if request.is_ajax(): response_data = {} username = request.POST.get(u'param') print username try: user = User.objects.get(username=username) except User.DoesNotExist: print u'新建用户' response_data['info'] = '' response_data['status'] = 'y' return HttpResponse(json.dumps(response_data), mimetype="application/json") else: print u'该用户名已经存在' response_data['info'] = u'该用户名已经使用' response_data['status'] = 'n' return HttpResponse(json.dumps(response_data), mimetype="application/json") else: if u'POST' == request.method: user_form = AccountForm(data = request.POST) if user_form.is_valid(): user = user_form.save() user.set_password(request.POST.get(u'password')) user.save() return HttpResponseRedirect('/') else: print '1111111111' else: user_form = AccountForm() context_dict['form'] = user_form return render_to_response(u'account/register.html', context_dict, context)