Tôi mới ở Django và đang thử một biểu mẫu đơn giản. Tôi có một mô hình lớp "Hồ sơ" với một lĩnh vực tập tin (schema_file) được định nghĩa và cũng là một lớp ModelForm cho nó. Khi tôi cố tạo hồ sơ mới trong trình duyệt, tôi gặp lỗi "Trường này là bắt buộc" trên trường schema_file mặc dù tôi đã chọn tệp trong trình chọn tệp, có ý tưởng nào không? lớp học của tôi dưới đây:Nhận "Trường dữ liệu này là bắt buộc" ngay cả khi tệp được tải lên
class Profile(models.Model):
class Meta:
db_table = 'target_profiles'
class SchemaType:
XML = 1
CSV = 2
XLS = 3
JSON = 4
DB = 5
SCHEMA_CHOICES = (
(XML, 'XML'),
(CSV, 'CSV'),
(XLS, 'Excel'),
(JSON, 'JSON'),
(DB, 'Database'),
)
name = models.CharField(max_length=32, unique=True)
description = models.CharField(max_length=128, null=True, blank=True)
schema_type = models.IntegerField(choices=SchemaType.SCHEMA_CHOICES, default=SchemaType.CSV)
schema_file = models.FileField(upload_to='schema_files', max_length=64)
def __unicode__(self):
return self.name
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
xem:
def add_profile(request):
if request.method == 'POST':
form = ProfileForm(request.POST, request.FILES)
if form.is_valid():
cd = form.cleaned_data
return HttpResponseRedirect('/profiles')
else:
form = ProfileForm()
return render(request, 'profiles/add_profile.html', {'form': form})
xin lỗi, đã thêm chế độ xem trong câu hỏi gốc – michalv82
Burhan, cảm ơn phản hồi nhanh của bạn. Tôi đã thiếu chính xác những gì bạn nói .. – michalv82
Điều này hoạt động, cảm ơn! –