def register(request): form = RegisterForm(request.POST or None) if form.is_valid(): user = form.save() user.backend = settings.AUTHENTICATION_BACKENDS[0] login(request,user) return redirect(reverse('accounts_profile')) send_data = {'form':form} return render_to_response('accounts/register.html',send_data,context_instance=RequestContext(request))
def register(request): if request.method == 'GET': form = RegisterForm() return render(request,'register.html',{'form':form}) form = RegisterForm(request.POST) zen = request.POST.get('zen') if not zen: messages.error(request,'请仔细阅读《Pythonic社区指导原则》') return render(request,'register.html',{"form":form,"zen":zen}) if form.is_valid(): data = form.clean() else: return render(request,'register.html',{"form":form,"zen":zen}) try: user = User.objects.get(username=data['email']) except User.DoesNotExist: pass else: if user.is_active: messages.error(request,'该邮箱已被注册,请更换邮箱') return render(request,'register.html',{"form":form,"zen":zen}) else: return HttpResponseRedirect('/accounts/active/%s/not_active' % user.get_profile().slug) try: user = UserProfile.objects.get(name=data['name']) except UserProfile.DoesNotExist: pass else: messages.error(request,'此名号已被占用') return render(request,'register.html',{"form":form,"zen":zen}) try: user = UserProfile.objects.get(slug=data['slug']) except UserProfile.DoesNotExist: pass else: messages.error(request,'此个性网址已存在') return render(request,'register.html',{"form":form,"zen":zen}) # 创建新用户 new_user = User.objects.create_user(username=data['email'],email=data['email'],password=data['password']) new_user.is_active = False avatar_name = hashlib.md5(data['email'].lower()).hexdigest() gravatar_url = ''.join(['http://www.gravatar.com/avatar/',avatar_name, '?s=48&d=404']) res_name = '%s-normal.%s' % (avatar_name, AVATAR_SAVE_FORMAT) res_path = os.path.join(AVATAR_DIR, res_name) req = urllib2.Request(gravatar_url) try: urllib2.urlopen(req) except urllib2.HTTPError, e: new_profile = UserProfile(user=new_user,name=data['name'],slug=data['slug'].lower(),province=data['province'],city=data['city']) pass
def register(request): form = RegisterForm(request.POST or None) print "Some info" if form.is_valid(): user = form.save() user.backend = settings.AUTHENTICATION_BACKENDS[0] login(request, user) return redirect(reverse('accounts_profile')) ctx = {'form': form} return render_to_response('accounts/register.html', ctx, context_instance=RequestContext(request))
def register(request): if request.method == 'GET': form = RegisterForm() return render(request,'register.html',{'form':form}) form = RegisterForm(request.POST) if form.is_valid(): data = form.clean() new_user = User.objects.create_user(username=data['username'],password=data['password'],name=data['name']) if EMAIL_ACTIVE: new_user.is_active = False else: new_user.is_active = True new_user.save() return HttpResponseRedirect('/accounts/active/%s/not_active' % new_user.name) else: return render(request,'register.html',{"form":form})
def register(request): if request.method == 'GET': form = RegisterForm() return render(request, 'register.html', {'form': form}) form = RegisterForm(request.POST) if form.is_valid(): data = form.clean() new_user = User.objects.create_user(username=data['username'], password=data['password'], name=data['name']) if EMAIL_ACTIVE: new_user.is_active = False else: new_user.is_active = True new_user.save() return HttpResponseRedirect('/accounts/active/%s/not_active' % new_user.name) else: return render(request, 'register.html', {"form": form})
def register(request): if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): dic = { 'username':form.cleaned_data.get('username'), 'first_name':form.cleaned_data.get('first_name'), 'last_name':form.cleaned_data.get('last_name'), 'email':form.cleaned_data.get('email'), 'is_active':True } user = User(**dic) user.set_password(form.cleaned_data.get('password')) user.save() return HttpResponseRedirect(reverse('login')) else: form = RegisterForm() rc = RequestContext(request,{'form':form,'title':'Registration Form'}) return render_to_response('accounts/registration.html',rc)
def register(request): logger = logging.getLogger("apps.accounts.views.register") logger.debug("entry.") form = None if request.method == 'POST': logger.debug("POST") form = RegisterForm(request.POST) if form.is_valid(): # ---------------------------------------------------------------- # Form is valid so parse values from it. # ---------------------------------------------------------------- logger.debug("POST is valid") username = form.cleaned_data['username'].lower() first_name = form.cleaned_data['first_name'] last_name = form.cleaned_data['last_name'] password = form.cleaned_data['password'] confirm_password = form.cleaned_data['confirm_password'] email = form.cleaned_data['email'] logger.debug("username: %s, email: %s" % (username, email)) # ---------------------------------------------------------------- # ---------------------------------------------------------------- # Password must be correctly entered twice. # ---------------------------------------------------------------- if password != confirm_password: logger.debug("password incorrectly entered twice.") form.errors['password'] = ["You did not enter in your password twice exactly the same. Please enter and confirm your password again."] form.errors['confirm_password'] = ["You did not enter in your password twice exactly the same. Please enter and confirm your password again."] elif not is_username_available(username): logger.debug("username is not available.") form.errors['username'] = ["The username \"%s\" is not available. Please choose another username." % username] else: # ------------------------------------------------------------ # Create and login as new user. # # Note the gotcha that after creating a user we must # authenticate it before calling login(). See the # 'User authentication in Django' section of the manual -> # login() for more details. # ------------------------------------------------------------ user = User.objects.create_user(username = username, email = email, password = password) user.first_name = first_name user.last_name = last_name user.save() user = authenticate(username=username, password=password) login(request, user) # sets up session for us return HttpResponseRedirect(reverse('apps.profiles.views.read_profile_no_username')) # ------------------------------------------------------------ data = {} # ------------------------------------------------------------------------- # Populate form for Account registration. # ------------------------------------------------------------------------- if form is None: logger.debug("no previous form present.") form_initial = {"username": "", "first_name": "", "last_name": "", "password": "", "confirm_password": "", "email": ""} form = RegisterForm(initial = form_initial) data['form'] = form # ------------------------------------------------------------------------- # ------------------------------------------------------------------------- # Get and render form errors, if any. # ------------------------------------------------------------------------- if form.errors: logger.debug("Form has some errors.") data["are_any_errors"] = True error_output = [] for (field_name, errors) in form.errors.items(): field_object = form.fields[field_name] if len(errors) == 1: error_output.append(r"- **%s**: %s" % (field_object.label, errors[0])) else: for error in errors: error_output.append(r"- **%s**: %s" % (field_object.label, error)) data["all_errors_description"] = markdown2.markdown('\n'.join(error_output), extras=["cuddled-lists"]) else: logger.debug("Form does not have any errors.") data["are_any_errors"] = False # ------------------------------------------------------------------------- logger.debug("rendering response...") return render_to_response('accounts/register.html', data, context_instance = RequestContext(request))
def register(request): url = request.META.get("HTTP_REFERER") form = RegisterForm() if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): logger.info("用户注册数据收敛成功") data = form.data # 执行注册逻辑前,有必要检查用户是否存在,防止用户创建异常 if User.objects.filter(username=data.get("username")).exists(): messages.warning(request, "用户已存在") return HttpResponseRedirect(url) # 组织查询或创建 org, org_created = Channel.objects.get_or_create( name=data.get("org")) # 云管用户类型设定 fit_user_type = 2 if org_created else 3 user = User.objects.create( username=data.get("username"), password=data.get("password"), email=data.get("email"), is_staff=1, is_active=0, # is_superuser=1, ) if user: logger.info("ITSM用户创建成功") Profile.objects.create( user=user, fit_user_type=fit_user_type, phone=data.get("phone"), email=data.get("email"), position=data.get("position"), ) # 组织首次创建需要系统管理审核;已存在组织创建用户,需要组织管理员审核 content = "{}-{}-{}-申请注册云管账户".format(data.get("org"), data.get("department"), data.get("username")) subject = "伟仕云安云平台账号审核提醒" mail_to = [data.get("email")] if org_created: # 生成系统管理员审核消息 admin = User.objects.get(username="******") MessageAlert.objects.create(user=admin, initiator=data.get("username"), content=content, action_type="org_first_register") logger.info("{}组织审核消息生成成功".format(content)) # 邮件提醒message message = "组织及账号已创建,等待管理员审核,通过后会邮件通知您,请耐心等待" else: # 生成组织管理员审核消息MessageAlert org_admin_profile = Profile.objects.filter( channel_name=data.get("org"), org_admin=1, ).first() org_admin = User.objects.filter( username=org_admin_profile.username).first() reg_info = MessageAlert.objects.create( user=org_admin, content=content, initiator=data.get("username"), action_type="register_info", ) logger.info("{}用户审核消息已创建".format(content)) # 邮件提醒message message = "账号已创建,组织管理员审核通过后收到邮件反馈即可以正常登录," \ "请耐心等待,如有异常请联系组织管理员" # 最终发送邮件提醒 try: send_mail(subject, message, settings.EMAIL_HOST_USER, mail_to) logger.info("邮件发送成功") except Exception as e: logger.info("邮件发送失败: ", e) return HttpResponse("账号注册成功,请查收邮件通知.") else: return HttpResponse(form.errors) else: # 组织列表可选 values = Channel.objects.values("name") org_list = [i["name"] for i in values] return render(request, "register.html", locals())