大佬教程收集整理的这篇文章主要介绍了视图 users.views.edit_profile 没有返回 HttpResponse 对象。它返回 None 。它返回 None 代替,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
vIEws.edit_profile 不返回字段错误,而是返回网页错误。
在 vIEws.registration 中 - 它确实返回字段错误,但在 vIEws.edit_profile 而不是字段错误中,它返回网页错误。当两者具有相似的代码时会发生什么? 下图是vIEws.register提交后的错误。
vIEws.register 字段错误:
这是来自 vIEws.edit_profile 的错误。由于手机无效而导致错误。错误应该与vIEws.register 相同。 vIEws.edit_profile 字段错误:
CustomUser 模型:我在这里设置验证并制作表格。
class CustomUser(AbstractBaseUser,Permissionsmixin):
username = models.CharFIEld(
_('Username'),max_length=150,unique=True,Help_text=_('required. 150 characters or fewer. Letters,digits and @/./+/-/_ only.'),valIDators=[UnicodeUsernameValIDator()],error_messages={
'unique': _("A user with that username already exists."),},)
email = models.EmailFIEld(_('Email Address'),unique=TruE)
palotype = models.CharFIEld(_('Type'),choices=TYPE_CHOICES,default='Palon-on')
suffix = models.CharFIEld(_('Suffix'),blank=TruE)
first_name = models.CharFIEld(_('First name'),valIDators=[AlphaSpaces()],blank=False)
mIDdle_name = models.CharFIEld(_('MIDdle name'),blank=TruE)
last_name = models.CharFIEld(_('last name'),blank=False)
birth_date = models.CharFIEld(_('Birth Date'),valIDators=[BirthdateRegex()],max_length=10,blank=False)
region = models.CharFIEld(_('Region'),blank=False)
city = models.CharFIEld(_('City'),blank=False)
barangay = models.CharFIEld(_('Barangay'),blank=False)
unitno = models.CharFIEld(_('Unit / Apartment No.'),blank=TruE)
floorno = models.CharFIEld(_('Floor'),blank=TruE)
bldgname = models.CharFIEld(_('Building name'),blank=TruE)
housebldgno = models.CharFIEld(_('House/Building No.'),blank=TruE)
streetname = models.CharFIEld(_('Street name'),blank=TruE)
villagediStrict = models.CharFIEld(_('Village / diStrict'),blank=TruE)
mobileno = models.CharFIEld(_('Mobile number'),valIDators=[PhoneRegex()],blank=False)
landline = models.CharFIEld(_('Landline'),valIDators=[LandlineRegex()],blank=TruE)
qr_code = models.ImageFIEld(upload_to='qr_codes',blank=TruE)
start_date = models.datetiR_189_11845@eFIEld(default=timezone.Now)
about = models.TextFIEld(_(
'about'),max_length=500,blank=TruE)
is_staff = models.BooleanFIEld(default=TruE)
is_active = models.BooleanFIEld(default=TruE)
objects = CustomAccountManager()
USERname_FIELD = 'username'
required_FIELDS = ['email','first_name','last_name','birth_date','region','city','barangay','mobileno']
def __str__(self):
return self.username
def save(self,*args,**kwargs):
qrcode_img = qrcode.make(self.userName)
canvas = Image.new('RGB',(290,290),'white')
canvas.paste(qrcode_img)
fname = f'qr_code-{self.usernamE}.png'
buffer = BytesIO()
canvas.save(buffer,'PNG')
self.qr_code.save(fname,file(buffer),save=falsE)
canvas.close()
# if len(str(self.birth_datE))<10:
# raise ValueError(('Birthdate cAnnot less than 10 characters.'))
# elif self.birth_date > datetiR_189_11845@e.date.today().strftime("%m/%d/%Y"):
# raise ValueError(('Birthdate cAnnot be set as future date.'))
# elif self.birth_date == datetiR_189_11845@e.date.today().strftime("%m/%d/%Y"):
# raise ValueError(('Birthdate cAnnot be set equal to todays date.'))
super().save(*args,**kwargs)
用户注册表:
class UserRegisterForm(UserCreationForm):
email = forms.EmailFIEld()
class Meta:
model = CustomUser
fIElds = ['username','email','password1','password2','palotype','suffix','mIDdle_name','unitno','floorno','bldgname','housebldgno','streetname','villagediStrict','mobileno','landline']
forms.py
UserEdit 表单 - 我删除了密码。
class UserEditForm(UserChangeForm):
email = forms.EmailFIEld()
class Meta:
model = CustomUser
fIElds = ['username','landline']
vIEws.py
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valID():
form.save()
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password1')
new_user = authenticate(username=username,password=password)
login(request,new_user)
return redirect('home')
else:
form = UserRegisterForm()
return render(request,'register.HTML',{'form': form})
def edit_profile(request):
if request.method == 'POST':
form = UserEditForm(request.POST,instance=request.user)
if form.is_valID():
form.save()
messages.info(request,'information successfully updated!')
return redirect('home')
else:
form = UserEditForm(instance=request.user)
args = {'form': form}
return render(request,'change-info.HTML',args)
注意:我尝试在 edit_profile 中使用 UserRegisterForm 作为表单,但遇到了同样的错误。
我设法通过此代码修复了错误。
def edit_profile(request):
if request.method == 'POST':
form = UserEditForm(request.POST,instance=request.user)
if form.is_valID():
form.save()
# username = form.cleaned_data.get('username')
# password = form.cleaned_data.get('password1')
# user = authenticate(username=username,password=password)
# login(request,user)
messages.info(request,'information successfully updated!')
return redirect('home')
else:
messages.info(request,form.errors)
form = UserEditForm(instance=request.user)
args = {'form': form}
return render(request,args)
else:
form = UserEditForm(instance=request.user)
args = {'form': form}
return render(request,args)
固定结果:
但它与 vIEws.register 有很大不同。 我希望错误与 vIEws.register 相同。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的视图 users.views.edit_profile 没有返回 HttpResponse 对象。它返回 None 。它返回 None 代替全部内容,希望文章能够帮你解决视图 users.views.edit_profile 没有返回 HttpResponse 对象。它返回 None 。它返回 None 代替所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。