/dashboard/profiles/create/ path_and_rename() 处的 TypeError 缺少 2 个必需的位置参数:"实例"和"文件名"



我正在尝试从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'(

相关内容

最新更新