我有一个应用程序可以让您创建个人资料。我的应用程序功能之一是它可以让您编辑您的姓名并上传图片。
问题是用户无法提交图像,除非他输入他的姓名。我该如何修复此页面以使其如此如果用户提交图像但未提交名称。如果他没有提交图像并更改了他的名字,他仍将使用他的旧名字。他还会有他的老照片吗?
我尝试添加 blank=True 和 null = False , null = True 但似乎没有做这项工作
我的模型.py
class Person(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=100,null=True,blank=False)
image = models.FileField(upload_to="images/")
def __unicode__(self):
return self.name
我的表格.py
class PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = ('image','name',)
我的观点.py
def Display(request):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('world:LoginRequest'))
if request.method == 'POST':
form = PersonForm(request.POST, request.FILES)
if form.is_valid():
person = Person.objects.get(user=request.user)
person.image = form.cleaned_data['image']
person.name = form.cleaned_data['name']
person.save()
return render(request,'edit.html',{'form': PersonForm()})