def register(requester): form_obj = MyRegForm() if requester.method == 'POST': back_dic = {"code": 1000, 'msg': ''} # 校验数据是否合法 form_obj = MyRegForm(requester.POST) # print(form_obj.cleaned_data) {'username': '******', 'password': '******', 'confirm_password': '******', 'email': '*****@*****.**'} if form_obj.is_valid(): # 将校验通过的数据字典赋值给一个变量 clean_data = form_obj.cleaned_data # 将字典里面的confirm_password键值对删除 clean_data.pop('confirm_password') # 用户头像 file_obj = requester.FILES.get('avatar') # 针对用户头像一定要判断是否传值不能直接添加到字典里面去 if file_obj: # 重命名文件名称 防止名称相同被替换 file_obj.name = crop_image(file_obj) clean_data['avatar'] = file_obj # 直接操作数据库保存数据 models.UserInfo.objects.create_user(**clean_data) back_dic['url'] = '/login/' else: back_dic['code'] = 2000 back_dic['msg'] = form_obj.errors return JsonResponse(back_dic) return render(requester, 'register.html', locals())
def register(request): """ 注册登录等功能,需要进行用户名校验,也要提示错误信息,所以我们使用forms组件 """ form_obj = MyRegForm() if request.method == 'POST': back_dic = {'code': 1000, 'msg': ''} #检验数据是否合法 form_obj = MyRegForm(request.POST) #判断数据是否合法 if form_obj.is_valid(): # print(form_obj.cleaned_data)#{'username': '******', 'password': '******', 'confirm_password': '******', 'email': '*****@*****.**'} #将检验通过的数据字典赋值给一个变量 clean_data = form_obj.cleaned_data #将字典里面的confirm_password键值对删除 clean_data.pop( 'confirm_password' ) #{'username': '******', 'password': '******', 'email': '*****@*****.**'} #用户头像 file_obj = request.FILES.get('avatar') """ 针对用户头像一定要先判断是否传值,不能直接添加到字典里面去,用户不传时这个字段是none """ if file_obj: clean_data['avatar'] = file_obj #直接操作数据库,保存数据 models.UserInfo.objects.create_user(**clean_data) back_dic['url'] = '/login/' else: back_dic['code'] = 2000 back_dic['msg'] = form_obj.errors return JsonResponse(back_dic) return render(request, 'register.html', locals())
def register(request): form_obj = MyRegForm() if request.method == 'POST': back_dic = {'code': 1000, 'msg': ''} form_obj = MyRegForm(request.POST) if form_obj.is_valid(): # print(form_obj.cleaned_data) # 得到四个键值对 # {'username': '******', 'password': '******', 'confirm_password': '******', 'email': '*****@*****.**'} # 将校验通过的数据字典赋值个一个变量 clean_data = form_obj.cleaned_data # 将字典中的confirm_password键值对删除 clean_data.pop('confirm_password') # 获取用户头像 file_obj = request.FILES.get('avatar') # 针对用户头像一定要判断是否传值,不能直接添加到字典中去 if file_obj: clean_data['avatar'] = file_obj # 直接操作数据库保存数据 models.UserInfo.objects.create_user(**clean_data) # 注册成功之后要跳转到一个登录界面,所以给这个前后端交互的字典加上一个url back_dic['url'] = '/login/' else: back_dic['code'] = 2000 back_dic['msg'] = form_obj.errors return JsonResponse(back_dic) # 将这个字典返回给回调函数 return render(request, 'register.html', locals())
def register(request): form_obj = MyRegForm() if request.method == "POST": back_dic = {"code": 1000, "msg": ""} # 校验数据是否合法 form_obj = MyRegForm(request.POST) if form_obj.is_valid(): # print(form_obj.cleaned_data) # {'username': '******', 'password': '******', 'confirm_password': '******', 'email': '*****@*****.**'} clean_data = form_obj.cleaned_data # 将校验通过的数据字典赋值给一个变量 clean_data.pop( "confirm_password" ) # {'username': '******', 'password': '******', 'email': '*****@*****.**'} # 用户头像 file_obj = request.FILES.get("avatar") """针对用户头像一定要判断是否传值 不能直接添加到字典中""" if file_obj: clean_data['avatar'] = file_obj # 操作数据库保存数据 models.UserInfo.objects.create_user(**clean_data) back_dic["url"] = "/login/" else: back_dic["code"] = 2000 back_dic["msg"] = form_obj.errors return JsonResponse(back_dic) return render(request, "register.html", locals())
def register(request): form_obj=MyRegForm() if request.method == 'POST': back_dic = {'code': 1000, 'msg': ''} # 校验数据是否合法 form_obj=MyRegForm(request.POST) # 判断数据是否合法 if form_obj.is_valid(): # print(form_obj.cleaned_data) clean_data=form_obj.cleaned_data # 将校验通过的数据字典赋值给一个变量 # 将字典里面的confirm_password键值对删除 clean_data.pop('confirm_password') # 用户头像 file_obj=request.FILES.get('avatar') # 针对用户头像一定要判断是否传值,不要直接添加到字典里面去 if file_obj: clean_data['avatar']=file_obj # 直接操作数据库保存数据 models.UserInfo.objects.create_user(**clean_data) back_dic['url']='/login/' else: back_dic['code']=2000 back_dic['msg']=form_obj.errors return JsonResponse(back_dic) return render(request,'register.html',locals())
def home(request): # 查询本网站所有的文章数据,展示到前端页面 article_queryset = models.Article.objects.all() form_obj = MyRegForm() return render(request, "home.html", locals())