我使用配置文件模型扩展了 django 用户模型。我想添加更新用户的个人资料功能。因为我将该num字段设为唯一字段,所以在我的更新视图函数中,更新表单的is_valid总是False. 我也无法更新照片png?这是我的代码;楷模:class Profile(models.model): user = models.OneToOneField(User,on_delete=models.CASCADE) num =models.CharField('identity',max_length=254,unique=True) photo = models.ImageField('image',upload_to = 'images/licences')形式:class ProfileForm(forms.ModelForm): class Meta: model= Profile fields = ['num','photo']意见:def modify_view(request): user = request.user if request.method=="POST": form = ProfileForm(request.POST,request.FILES) if form.is_valid() user_profile = Profile.objects.get(user=user) user_profile.image = form.clean_data['image'] user_profile.save() else: form = ProfileForm() return render(request,"profile.html",{form:form}) 模板{% extends 'account/home/index.html' %}{% block content %}<div class="row"> <div class="col-md-8 col-sm-8 col-8"> <form class="signup needs-validation" id="signup_form" method="post" enctype="multipart/form-data" > {% csrf_token %} {{form.as_p}} {% if redirect_field_value %} <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" /> {% endif %} <div class="form-group"> <button type="submit" class="col-sm-8 offset-sm-4 btn btn-success btn-block">update</button> </div> </form> </div> </div>{% endblock %}
添加回答
举报
0/150
提交
取消