def register(request): ''' 注册视图 :param request: :return: ''' if request.method == "POST": ajax_response = {"status": False, "error_msg": ""} form_obj = forms.RegisterForm(request, request.POST) if form_obj.is_valid(): file_obj = request.FILES["img"] ajax_response["status"] = True models.UserInfo.objects.create_user( username=request.POST.get("username"), password=request.POST.get("password"), email=request.POST.get("email"), avatar=file_obj) else: errors = form_obj.errors ajax_response["error_msg"] = errors return HttpResponse(json.dumps(ajax_response)) form_obj = forms.RegisterForm(request) return render(request, "register.html", {"form_obj": form_obj})
def register(request): if request.session.get('is_login', None): # 登录状态不允许注册。你可以修改这条原则! return redirect("/index/") if request.method == "POST": register_form = forms.RegisterForm(request.POST) message = "请检查填写的内容!" if register_form.is_valid(): # 获取数据 username = register_form.cleaned_data['username'] password1 = register_form.cleaned_data['password1'] password2 = register_form.cleaned_data['password2'] email = register_form.cleaned_data['email'] sex = register_form.cleaned_data['sex'] if password1 != password2: # 判断两次密码是否相同 message = "两次输入的密码不同!" return render(request, 'login/register.html', locals()) else: same_name_user = models.User.objects.filter(name=username) if same_name_user: # 用户名唯一 message = '用户已经存在,请重新选择用户名!' return render(request, 'login/register.html', locals()) same_email_user = models.User.objects.filter(email=email) if same_email_user: # 邮箱地址唯一 message = '该邮箱地址已被注册,请使用别的邮箱!' return render(request, 'login/register.html', locals()) # 当一切都OK的情况下,创建新用户 new_user = models.User() new_user.name = username new_user.email = email new_user.sex = sex #调用外部包 ip = infor.get_realip() new_user.from_ip = ip new_user.password = infor.hash_code(password1) new_user.save() code = infor.make_confirm_string(new_user) host = request.get_host() sendemail.send_email(username, email, code,host) message = '请前往注册邮箱,进行邮件确认!' return render(request, 'login/confirm.html', locals()) # 跳转到等待邮件确认页面。 register_form = forms.RegisterForm() return render(request, 'login/register.html', locals())
def post(self, request, *args, **kwargs): form = forms.RegisterForm(request.POST) if form.is_valid(): if User.objects.filter( username=form.cleaned_data['username']).exists(): return render(request, 'signup.html', context={ "form": form, "error": "Sorry, this username is occupied!", 'success': self.success }) else: user = form.save() user.refresh_from_db() login(request, user) self.success = True try: MyUser.objects.create(user_id=user.id, avatar='profile_pics/default.png') except Exception: print(Exception) return render(request, 'signup.html', context={ "form": form, 'success': self.success })
def post(self, request, *args, **kwargs): # 验证码操作 new_user = forms.RegisterForm(request, request.POST, request.FILES) if new_user.is_valid(): # 写入头像返回路径 avatar_path = "static/imgs/avatar/{}".format( new_user.cleaned_data["nickname"], ) with open(avatar_path, "wb") as f: for chunk in new_user.files["avatar"].chunks(): f.write(chunk) new_user.cleaned_data["avatar"] = avatar_path models.UserInfo.objects.create(**new_user.cleaned_data) return redirect("/login.html") else: return render(request, "blog/register.html", {"new_user": new_user})
def post(self, request): res = {"code": 0} v_code = request.POST.get("v_code", '1').upper() if v_code != request.session.get("v_code", ""): res["code"] = 2 res["error"] = "验证码错误!" else: reg_obj = forms.RegisterForm(request.POST) if reg_obj.is_valid(): reg_obj.cleaned_data.pop("rep_password") avatar = request.FILES.get("avatar") models.UserInfo.objects.create_user(**reg_obj.cleaned_data, avatar=avatar) res["code"] = 1 res["error"] = "注册成功!" else: res["code"] = 3 res["error"] = reg_obj.errors return JsonResponse(res)
def get(self, request): reg_obj = forms.RegisterForm() return render(request, "register.html", {"reg_obj": reg_obj})
def get(self, request, *args, **kwargs): new_user = forms.RegisterForm(request) return render(request, "blog/register.html", {"new_user": new_user})