コード例 #1
0
ファイル: views.py プロジェクト: gbh666/Blog_system
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})
コード例 #2
0
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())
コード例 #3
0
ファイル: views.py プロジェクト: MenshikovIA/BlogProject
    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
                      })
コード例 #4
0
ファイル: views.py プロジェクト: fat39/baozhangxitong
    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})
コード例 #5
0
ファイル: views.py プロジェクト: tg123456/Django_BBS
    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)
コード例 #6
0
ファイル: views.py プロジェクト: tg123456/Django_BBS
 def get(self, request):
     reg_obj = forms.RegisterForm()
     return render(request, "register.html", {"reg_obj": reg_obj})
コード例 #7
0
ファイル: views.py プロジェクト: fat39/baozhangxitong
 def get(self, request, *args, **kwargs):
     new_user = forms.RegisterForm(request)
     return render(request, "blog/register.html", {"new_user": new_user})