【发布时间】:2021-06-26 03:42:11
【问题描述】:
这是模型
class Profile(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
profile_pic = ResizedImageField(size=[294, 313], crop=['middle', 'center'], upload_to='profilePicture', null=True, blank=True)
bio = models.CharField(max_length=100, blank=True)
address = models.CharField(max_length=500, blank=True)
mobile_number = models.CharField(max_length=15, blank=True)
def __str__(self):
return str(self.user.first_name)
我在创建用户时使用了 post_save 信号。
这里是模型表格
class UserInfo(forms.ModelForm):
class Meta:
model = Profile
fields = ('profile_pic', 'bio', 'address', 'mobile_number')
这里是views.py文件:
def updatepersonalinfo(request, slug):
user = get_object_or_404(User, slug=slug)
if request.method == 'POST':
form = UserInfo(request.POST or None, request.FILES or None,instance=user)
if form.is_valid():
form.save()
else:
form = UserInfo(instance=user)
context = {
'form': form,
}
return render (request, 'generaluser/updateinfo.html', context)
这是模板中的表格:
<form method="POST" enctype="multipart/form-data" class="form-contact contact_form">
{% csrf_token %}
<div class="row w-100 ">
<div class="row d-flex justify-content-center">
<div class="col-lg-12">
<div class="section_title text-center mb-55">
<h3><span>Personal Information Update</span></h3>
</div>
</div>
</div>
<div class="col-lg-12 col-sm-12">
<label for="">About you</label>
<div class="form-group">
{{ form.bio }}
</div>
</div>
<div class="col-lg-12 col-sm-12">
<label for="">Your Picture</label>
<div class="form-group">
{{ form.profile_pic }}
</div>
</div>
<div class="col-lg-12 col-sm-12">
<label for="org_name">Contact Number</label>
<div class="form-group">
{{ form.mobile_number }}
</div>
</div>
<div class="col-lg-12 col-sm-12">
<label for=""> Your Present Address</label>
<div class="form-group">
{{form.address}}
</div>
</div>
{{ form.errors }}
<div class="col-lg-12 col-sm-12">
<button type="submit" class="button button-contactForm boxed-btn"> submit </button>
</div>
</div>
</form>
提交表单后,它没有显示任何错误。 form.is_valid() 函数也是通过的。但是数据没有保存到数据库中。
在保存之前我也尝试过 commit=False。但这根本行不通。
【问题讨论】:
标签: django-models django-forms django-templates