예제 #1
0
def register(request):
    if request.method == "POST":
        ret = {"status": 0, "msg": ""}
        # 获取提交的数据,封装在form对象中
        form_obj = forms.RegForm(request.POST)
        print(request.POST) #QueryDict对象,key为字符串,value为列表
        # django自带form类帮我做校验,可使用钩子函数
        if form_obj.is_valid():
            # 校验方式一
            # username = form_obj.cleaned_data.get("username")
            # is_exist = models.UserInfo.objects.filter(username=username)
            # if is_exist:
            #     #表示用户名已注册
            #     ret["status"] = 1
            #     ret["msg"] = "用户名已存在"
            #     return JsonResponse(ret)
            # 校验通过,去数据库创建一个新的用户
            form_obj.cleaned_data.pop("re_password") #cleaned_data为提交表单的字典
            avatar_img = request.FILES.get("avatar") #获取图片文件
            #create_user为auth模块创建新的超级用户的方法,需要提供username、password等
            models.UserInfo.objects.create_user(**form_obj.cleaned_data, avatar=avatar_img)
            ret["msg"] = "/index/"
            return JsonResponse(ret)
        else:
            ret["status"] = 1
            ret["msg"] = form_obj.errors #form对象错误信息使用errors取出
            print("=" * 120)
            return JsonResponse(ret)
    form_obj = forms.RegForm() #生成一个form对象
    return render(request, "register.html", {"form_obj": form_obj})
예제 #2
0
def register(request):
    if request.method == 'POST':
        forms_obj = forms.RegForm(request.POST)
        ret = {'status': 0, 'msg': ''}
        #print(request.POST)
        # 帮我做校验
        if forms_obj.is_valid():
            # 校验通过,去数据库创建一个新的用户
            forms_obj.cleaned_data.pop('re_password')
            avatar_img = request.FILES.get("avatar")
            #print(avatar_img)
            models.UserInfo.objects.create_user(**forms_obj.cleaned_data,
                                                avatar=avatar_img)
            ret['msg'] = '/index/'
            #return render(request, 'register.html', {'forms_obj': forms_obj})
            return JsonResponse(ret)
        else:
            ret['status'] = 1
            ret['msg'] = forms_obj.errors
            #print(forms_obj.errors)
            #return render(request, 'register.html', {'forms_obj': forms_obj})
            return JsonResponse(ret)
        # 生成一个form对象
    forms_obj = forms.RegForm()
    #print(form_obj.fields)
    return render(request, 'register.html', {'forms_obj': forms_obj})
예제 #3
0
파일: views.py 프로젝트: DeyouKong/blog
def register(request):
    """
    注册函数,使用forms的RegForm
    :param request:
    :return:
    """
    if request.method == "POST":
        ret = {"status": 0, "msg": ""}
        form_obj = forms.RegForm(request.POST)
        if form_obj.is_valid():
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")

            # **kwarg 将字典解开成一个个类似 avatar=avatar_img的形式
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_img)
            ret["msg"] = "/blog/"
            collect_logger.info(
                form_obj.cleaned_data.get('user').username + "注册")
            return JsonResponse(ret)
        else:
            print(form_obj.errors)
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            return JsonResponse(ret)

    # 生成一个 Form 对象
    form_obj = forms.RegForm()
    return render(request, "blog/register.html", {"form_obj": form_obj})
예제 #4
0
def register(request):
    if request.method == "POST":
        ret = {"status": 0, "msg": ""}
        forms_obj = forms.RegForm(request.POST)
        # 帮我做校验
        if forms_obj.is_valid():
            # 校验通过,去数据库创建一个用户
            forms_obj.cleaned_data.pop("re_password")
            forms_obj.cleaned_data.pop("code")
            avatar_img = request.FILES.get("avatar")  # 得到头像文件
            if avatar_img == None:
                avatar_img = "avatars/default.jpg"
            models.UserInfo.objects.create_user(**forms_obj.cleaned_data,
                                                avatar=avatar_img)
            user = auth.authenticate(
                username=forms_obj.cleaned_data["username"],
                password=forms_obj.cleaned_data["password"])
            auth.login(request, user)
            ret["msg"] = "/index/"
            return JsonResponse(ret)
        else:
            # print(forms_obj.errors)
            ret["status"] = 1
            ret["msg"] = forms_obj.errors
            return JsonResponse(ret)
    # 生成一个form对象
    form_obj = forms.RegForm()
    return render(request, "register.html", {"form_obj": form_obj})
예제 #5
0
파일: views.py 프로젝트: pythoner999/bbs
def register(request):
    if request.method == "POST":
        print(request.POST)
        print("=" * 120)
        ret = {"status": 0, "msg": ""}
        form_obj = forms.RegForm(request.POST)
        print(request.POST)
        # form組件校驗
        if form_obj.is_valid():

            # 校驗通過,去數據庫創建一個新用戶
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")
            blog_title = form_obj.cleaned_data.pop('blog_title')
            blog_obj = models.Blog.objects.create(
                title=blog_title, site=form_obj.cleaned_data.get('username'))
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_img,
                                                blog=blog_obj)
            ret["msg"] = "/index/"
            return JsonResponse(ret)
        else:
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            print(ret)
            print("=" * 120)
            return JsonResponse(ret)
    # 生成一個form對象
    form_obj = forms.RegForm()
    print(form_obj.fields)
    return render(request, "register.html", {"form_obj": form_obj})
예제 #6
0
def reg(request):

    if request.method == "POST":
        form_obj = forms.RegForm(request, request.POST)  # 实例form对象
        response = {"flag": False, "errors": ""}

        if form_obj.is_valid():
            #操作
            print(form_obj.cleaned_data
                  )  # {"username":"******","password":2134szdf,...}
            username = form_obj.cleaned_data["username"]
            password = form_obj.cleaned_data["password"]
            email = form_obj.cleaned_data["email"]
            file_obj = request.FILES.get("img")

            print("file_OBJ", file_obj)
            UserInfo.objects.create_user(username=username,
                                         password=password,
                                         email=email,
                                         avatar=file_obj)
            response["flag"] = True

        else:
            errors = form_obj.errors  #  ERRORdict:  {"username":[],"password":[],....}
            response["errors"] = errors
            print("errors:-----", errors)
        return HttpResponse(json.dumps(response))

    form_obj = forms.RegForm(request)
    return render(request, "reg.html", {"form_obj": form_obj})
예제 #7
0
def register(request):
    user_obj = request.session.get('user_avatar')
    user = request.session.get('user_name')
    form_obj = forms.RegForm()
    ret = {"status": 0, "msg": ""}
    if request.method == "POST":
        form_obj = forms.RegForm(request.POST)
        print(form_obj)
        # 让form帮我们做校验
        if form_obj.is_valid():
            print(form_obj.cleaned_data)
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")
            print(avatar_img)
            if avatar_img:
                User.objects.create(**form_obj.cleaned_data, avatar=avatar_img)
                ret["msg"] = "/api/api_userinfo/"
                return JsonResponse(ret)
            else:
                User.objects.create(**form_obj.cleaned_data)
                ret["msg"] = "/api/api_userinfo/"
                return JsonResponse(ret)
        else:
            print(form_obj.errors)
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            return JsonResponse(ret)
    return render(request,'register.html',{'form_obj':form_obj,'user':user,'user_obj':user_obj})
예제 #8
0
파일: views.py 프로젝트: veritastry/Python
def register(request):
    if request.method == "POST":
        ret = {"status": 0, "msg": ""}
        form_obj = forms.RegForm(request.POST)
        print(request.POST)
        # 帮我做校验
        if form_obj.is_valid():
            # 校验通过,去数据库创建一个新的用户
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_img)
            ret["msg"] = "/index/"
            return JsonResponse(ret)
        else:
            print(form_obj.errors)
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            print(ret)
            print("=" * 120)
            return JsonResponse(ret)
    # 生成一个form对象
    form_obj = forms.RegForm()
    print(form_obj.fields)
    return render(request, "register.html", {"form_obj": form_obj})
예제 #9
0
def register(request):
    if request.method == "POST":
        ret = {"status": 0, "msg": ""}
        form_obj = forms.RegForm(request.POST)
        # 帮我做校验
        if form_obj.is_valid():
            # 校验通过,去数据库创建一个新的用户
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")
            user = request.POST.get("username")
            if avatar_img is not None:
                with transaction.atomic():
                    models.UserInfo.objects.create_user(**form_obj.cleaned_data, avatar=avatar_img)
                    blog_obj = models.Blog.objects.create(title="%s的博客" % user, site=user, theme="jesi.css")
                    models.Tag.objects.create(title="%s的生活" % user, blog=blog_obj)
                    models.Category.objects.create(title="%s的IT" % user, blog=blog_obj)
            else:
                with transaction.atomic():
                    models.UserInfo.objects.create_user(**form_obj.cleaned_data)
                    blog_obj = models.Blog.objects.create(title="%s的博客" % user, site=user, theme="jesi.css")
                    models.Tag.objects.create(title="%s的生活" % user, blog=blog_obj)
                    models.Category.objects.create(title="%s的IT" % user, blog=blog_obj)

            login_logger.info("[%s]注册成功" % user)
            ret["msg"] = "/login/"
            return JsonResponse(ret)
        else:
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            return JsonResponse(ret)
    # 生成一个form对象
    form_obj = forms.RegForm()
    # print(form_obj.fields)
    return render(request, "register.html", {"form_obj": form_obj})
예제 #10
0
def reg(request):
    logger.info("小伙子,又来了!")
    collect_logger.info("小伙子,又走了!")

    if request.method == "POST":
        ret = {"code": 0}
        form_obj = forms.RegForm(request.POST)
        logger.debug(request.FILES)

        if form_obj.is_valid():
            logger.debug(form_obj.cleaned_data)
            avatar_obj = request.FILES.get("avatar")

            form_obj.cleaned_data.pop("re_password", "")
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_obj)
            ret["data"] = "/login/"
        else:
            ret["code"] = 1
            ret["data"] = form_obj.errors

        return JsonResponse(ret)

    form_obj = forms.RegForm()
    return render(request, "reg.html", {"form_obj": form_obj})
예제 #11
0
def register(request):
    if request.method == "POST":
        form_obj = forms.RegForm(request.POST)
        if form_obj.is_valid():
            # 如果校验通过,去数据库创建一个新的用户
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_img)
            return HttpResponse("注册成功")
        else:
            return render(request, "register.html", {"form_obj": form_obj})

    form_obj = forms.RegForm()  # 生成form对象
    return render(request, "register.html", {"form_obj": form_obj})
예제 #12
0
파일: views.py 프로젝트: andy1031/blog
def register(request):
    if request.method == 'POST':
        ret = {'status': 0, 'msg': ''}
        form_obj = forms.RegForm(request.POST)
        if form_obj.is_valid():
            form_obj.cleaned_data.pop('re_password')
            avatar_img = request.FILES.get('avatar')  # 上传的文件从request.FILES中取
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_img)
            ret['msg'] = '/index/'
            return JsonResponse(ret)
        else:
            ret['status'] = 1
            ret['msg'] = form_obj.errors
            return JsonResponse(ret)
    form_obj = forms.RegForm()
    return render(request, 'register.html', {'form_obj': form_obj})
예제 #13
0
파일: views.py 프로젝트: tanwenzhan/BBS
def register(request):
    if request.method=='POST':
        ret={"status":0,"msg":""}
        forms_obj = forms.RegForm(request.POST)
        if forms_obj.is_valid():
            forms_obj.cleaned_data.pop('re_password')
            avatar_img=request.FILES.get('avatar')
            models.UserInfo.objects.create_user(**forms_obj.cleaned_data,avatar=avatar_img)
            ret["msg"]='/login/'
            return JsonResponse(ret)
        else:
            ret["status"]=1
            ret["msg"]=forms_obj.errors
            return JsonResponse(ret)

    forms_obj = forms.RegForm()
    return render(request,'register.html',{'forms_obj':forms_obj})
예제 #14
0
def register(request):
    if request.method == "GET":
        regForm = forms.RegForm()
        return render(request,"register.html",{"regForm":regForm})
    elif request.method == "POST":
        regForm = forms.RegForm(request.POST)
        ret = {"success_info": None, "error_info": None}
        if regForm.is_valid():
            username = regForm.cleaned_data.get("username")
            password = regForm.cleaned_data.get("password")
            regForm.cleaned_data.pop("ret_password")
            avatar_img = request.FILES.get("avatar")
            user_info = models.UserInfo.objects.create(**regForm.cleaned_data)
            if user_info:
                ret['success_info'] = username
        else:
            ret['error_info'] = regForm.errors
        return JsonResponse(ret)
예제 #15
0
def register(request):
    if request.method == 'POST':
        ret = {'status': 0, 'msg': ''}
        # 获取页面上传来的信息
        forms_obj = forms.RegForm(request.POST)
        if forms_obj.is_valid():
            # 校验通过,就去数据库创建一个新用户
            forms_obj.cleaned_data.pop('re_password')  # 存入数据库时,需要将确认密码删除
            avatar_img = request.FILES.get('avatar')
            models.UserInfo.objects.create_user(**forms_obj.cleaned_data,
                                                avatar=avatar_img)
            ret["msg"] = '/index/'
            return JsonResponse(ret)
        else:
            ret['status'] = 1
            ret['msg'] = forms_obj.errors
            return JsonResponse(ret)
    forms_obj = forms.RegForm()
    return render(request, 'register.html', {'forms_obj': forms_obj})
예제 #16
0
def reg(request):
    ret = {"flag": False, "error": None}
    '''
    flag 标志位,error 错误字典
    '''

    if request.method == "POST":
        form_obj = forms.RegForm(request, request.POST)
        '''
        将注册页面取出的值赋给实例化的RegForm表单 
        '''

        if form_obj.is_valid():
            '''
            判断前端输入的值是否合法,如果合法,创建新用户 
            '''
            username = form_obj.cleaned_data["username"]
            password = form_obj.cleaned_data["password"]
            email = form_obj.cleaned_data["email"]
            file_obj = request.FILES.get("img")

            print(file_obj)

            UserInfo.objects.create_user(username=username,
                                         password=password,
                                         email=email,
                                         avatar=file_obj)

        else:
            '''
            如果信息不合法,取出错误信息,并把标志位 flag 改为TRUE,并把错误信息赋给 ret["error"]
            '''
            errors = form_obj.errors

            print("errors:-----", errors)

            ret["flag"] = True
            ret["error"] = errors
        return HttpResponse(json.dumps(ret))

    form_obj = forms.RegForm()
    return render(request, "reg.html", {"form_obj": form_obj})
예제 #17
0
파일: views.py 프로젝트: yu931026/BBS
def register(request):
    if request.method == "POST":
        ret = {"status": 0, "msg": ""}
        form_obj = forms.RegForm(request.POST)
        # 帮我做校验
        if form_obj.is_valid():

            # 校验通过,去数据库创建一个新的用户
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")  # 文件需要单独取出
            models.UserInfo.objects.create_user(
                **form_obj.cleaned_data, avatar=avatar_img)  # auth的内置创建用户方法
            ret["msg"] = "/index/"
            return JsonResponse(ret)
        else:
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            return JsonResponse(ret)
    form_obj = forms.RegForm()
    return render(request, "register.html", {"form_obj": form_obj})
예제 #18
0
파일: views.py 프로젝트: Ethandyp/bbs
def register(request):
    ret = {'status': 0, "msg": []}
    if request.method == "POST":
        user_obj = forms.RegForm(request.POST)
        avatar_img = request.FILES.get("avatar")
        # 帮我做校验
        if user_obj.is_valid():
            # 剔除确认密码
            user_obj.cleaned_data.pop('re_password')
            models.UserInfo.objects.create_user(**user_obj.cleaned_data,
                                                avatar=avatar_img)
            ret['msg'] = "/index/"
            return JsonResponse(ret)
        else:
            print(user_obj.errors)
            ret['status'] = 1
            ret['msg'] = user_obj.errors
            return JsonResponse(ret)
    form_obj = forms.RegForm()
    return render(request, 'register.html', {"form_obj": form_obj})
예제 #19
0
def register(request):
    ret = {'status': 0, 'msg': ''}
    if request.method == 'POST':
        form_obj = forms.RegForm(request.POST)
        #验证
        if form_obj.is_valid():
            form_obj.cleaned_data.pop('re_password')
            tx_obj = request.FILES.get('touxiang')
            print(tx_obj, type(tx_obj))
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=tx_obj)
            ret['msg'] = '/index/'
            return JsonResponse(ret)
        else:
            print(form_obj.errors)
            ret['status'] = 1
            ret['msg'] = form_obj.errors
            return JsonResponse(ret)
    form_obj = forms.RegForm()
    return render(request, 'register.html', {'form_obj': form_obj})
예제 #20
0
def register(request):
    if request.method == "POST":
        # print(request.POST)
        ret = {"status": 0, "msg": ""}
        form_obj = forms.RegForm(request.POST)
        # print(form_obj.is_valid())
        if form_obj.is_valid():
            form_obj.cleaned_data.pop("re_password")
            avatar_img = request.FILES.get("avatar")
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_img)
            ret["msg"] = "/login/"
            return JsonResponse(ret)
        else:
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            return JsonResponse(ret)
        # print(form_obj)
    form_obj = forms.RegForm()

    return render(request, 'register.html', {"form_obj": form_obj})
예제 #21
0
def register(request):
    if request.method == "POST":
        ret = {"status": 0, "msg": ""}
        form_obj = forms.RegForm(request.POST)
        # form组件帮我做校验
        if form_obj.is_valid():
            # 删除重复密码,数据库中没有这个字段
            print(form_obj)
            form_obj.cleaned_data.pop("re_password")
            print(form_obj.cleaned_data)
            avatar_img = request.FILES.get("avatar")
            models.UserInfo.objects.create_user(**form_obj.cleaned_data, avatar=avatar_img)
            ret["msg"] = "/index/"
            return JsonResponse(ret)
            # return HttpResponse("register success")
        else:
            ret["status"] = 1
            ret["msg"] = form_obj.errors
            return JsonResponse(ret)
            # return render(request, "register.html", {"form_obj": form_obj})
    # 生成一个form对象
    form_obj = forms.RegForm()
    return render(request, "register.html", {"form_obj": form_obj})
예제 #22
0
파일: views.py 프로젝트: pwli0755/bbs
def signup(request):
    auth.logout(request)
    if request.method == 'POST':
        # print(request.POST)
        ret = {'status': -1, 'msg': ''}
        form_obj = forms.RegForm(request.POST)
        if form_obj.is_valid():
            form_obj.cleaned_data.pop('re_password')
            avatar_img = request.FILES.get('avatar')
            models.UserInfo.objects.create_user(**form_obj.cleaned_data,
                                                avatar=avatar_img)
            ret['status'] = 0
            ret['msg'] = '/index/'
            return JsonResponse(ret)
        else:
            # 表单验证不通过
            print(form_obj.errors)
            ret['msg'] = form_obj.errors
            return JsonResponse(ret)
    # get请求
    form_obj = forms.RegForm()

    return render(request, 'signup.html', {'form_obj': form_obj})
예제 #23
0
파일: views.py 프로젝트: zhbittt/BlogCMS
def reg(request):
    if request.is_ajax():
        form_obj = forms.RegForm(request,request.POST)

        regResponse = {"user":None,"errorList":None}

        if form_obj.is_valid():
            username = form_obj.cleaned_data.get("username")
            password = form_obj.cleaned_data.get("password")
            email = form_obj.cleaned_data.get("email")
            avatar_img = request.FILES.get("avatar_img")

            user_obj = UserInfo.objects.create_user(username=username,password=password,email=email,avatar=avatar_img,nickname=username)

            regResponse["user"]=user_obj.username

        else:
            regResponse["errorList"]=form_obj.errors

        return HttpResponse(json.dumps(regResponse))


    form_obj = forms.RegForm(request)
    return render(request,"reg.html",{"form_obj":form_obj})
예제 #24
0
def register(request):
    reg_form_obj = forms.RegForm()

    if request.method == "POST":
        # 定义一个字典,保存信息
        check_res = {"status": 0, "msg": ""}
        reg_form_obj = forms.RegForm(request.POST)
        if reg_form_obj.is_valid():
            # 注册成功,在数据库中创建用户
            del reg_form_obj.cleaned_data["re_password"]
            # 获取头像
            avatar_img = request.FILES.get("avatar")
            models.UserInfo.objects.create_user(**reg_form_obj.cleaned_data,
                                                avatar=avatar_img)
            # 注册成功,将需要跳转的页面保存到msg中
            check_res["msg"] = "/index/"
            return JsonResponse(check_res)
        else:
            # 注册失败,将错误信息保存到msg
            check_res["status"] = 1
            check_res["msg"] = reg_form_obj.errors
            # print(check_res)
            return JsonResponse(check_res)
    return render(request, "register.html", {"reg_form_obj": reg_form_obj})