Ich bin neu bei Django und versuche eine einfache Form. Ich habe eine Modellklasse "Profile" mit einem Dateifeld (schema_file) definiert und auch eine ModelForm-Klasse dafür. Wenn ich versuche, ein neues Profil im Browser zu erstellen, erhalte ich die Fehlermeldung "Dieses Feld ist erforderlich" im Feld "schemeldatei", obwohl ich eine Datei in der Dateiauswahl ausgewählt habe. meine Klassen unter:Getting "Dieses Feld ist erforderlich", obwohl die Datei hochgeladen wird
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
Ansicht:
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})
Entschuldigung, fügte die Ansicht in Originalfrage – michalv82
Burhan, danke für Ihre schnelle Antwort. Ich habe genau das vermisst, was du gesagt hast. – michalv82
Das funktioniert, danke! –