我正在尝试从Django模型创建的表单中保存信息。我真的没有太多经验,因为这是我的第二个项目。
这是我的看法
def profile_create_view(request):
form = ProfileCreateForm(request.POST or None)
if form.is_valid():
form.save
form = ProfileCreateForm()
context = {
'form':form
}
return render(request, 'users/profile', context)
我的表格在这里
class ProfileCreateForm(forms.ModelForm):
class Meta:
model = Profile
fields = [
'avatar',
'user_type',
'first_name',
'last_name',
'gender',
'email',
'phonenumber',
'birth_date',]
然后我的模型在这里
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
avatar = models.ImageField(upload_to = '', default = path_and_rename, blank=True)
provider = 'provider'
requester = 'requester'
user_types = [
(provider, 'provider'),
(requester, 'requester'),
]
user_type = models.CharField(max_length=155, choices=user_types, default=requester)
first_name = models.CharField(max_length=255, default='')
last_name = models.CharField(max_length=255, default='')
GENDER_MALE = 'Male'
GENDER_FEMALE = 'Female'
OTHER = 'Other'
GENDER_CHOICES = [
(GENDER_MALE, 'Male'),
(GENDER_FEMALE, 'Female'),
(OTHER, 'Other'),
]
gender = models.CharField(max_length=15, choices=GENDER_CHOICES, blank=True)
email = models.EmailField(default='none@email.com')
phonenumber = models.CharField(max_length=15, default='')
birth_date = models.DateField(default='1975-12-12')
视图函数中发生了奇怪的事情,您必须像这样重建它。
def profile_create_view(request):
if request.method == "POST":
form = ProfileCreateForm(request.POST, instance=request.user)
if form.is_valid():
form.save()
return redirect('/')
else:
form = form(instance=request.user)
return render(request, 'manage_authors.html', {'form': form})
对不起,我忘了我通过从'头像=模特。ImageField(upload_to='',default=path_and_rename,blank=True('到avatar=模型。ImageField(upload_to='uploads/',default='ploads/default.jpg'(