Hy dort, meine erste Frage auf dieser Website, so leid für mein Englisch. Also versuche ich eine Datei auf ein Modell im Django Framework hochzuladen.Django Datei hochladen mit Formular
class banner(models.Model):
#id is made by Django
name = models.CharField(max_length=255)
created_by = models.CharField(max_length=255)
company = models.CharField(max_length=255)
register_date = models.DateField(auto_now_add=True)
file = models.FileField(null=True, blank=True)
file_name = models.CharField(max_length=255)
Dies ist das Modell
class BannerForm(forms.Form):
name=forms.CharField(max_length=255)
created_by=forms.CharField(max_length=255)
company=forms.CharField(max_length=255)
data_type=forms.CharField(max_length=255)
register_date=forms.DateField()
file=forms.FileField()
file_name=forms.CharField(max_length=255)
Dies ist die Form,
def add_form (Anfrage): form = BannerForm() last = models.banner.objects.all() (.last)
if request.method == "POST":
form = forms.BannerForm(request.POST, request.FILES or None)
if form.is_valid():
form.cleaned_data['created_by']
new_banner=models.banner()
new_banner.id=last.id+1
new_banner.name=form.cleaned_data['name']
new_banner.register_date=form.cleaned_data['register_date']
new_banner.company=form.cleaned_data['company']
new_banner.file=form.cleaned_data['file']
new_banner.file_name=new_banner.file.name
new_banner.created_by=form.cleaned_data['created_by']
new_banner.save()
return render(request, "add_banner.html",{"form":form})
ist dies die view.Now jedes Mal, wenn ich versuche hinzufügen ein banner.Ich blättern Sie die Datei, aber nachdem ich put senden, ist es, dass die Datei ausgewählt werden muss, wie es nicht recongnize, was ich zum Formular button.Any Vorschlag?
ich vergaß zu erwähnen: es sagt die vorgelegte Datei leer ist. – Unknown
Haben Sie den 'enctype' in Ihrem Formular? –
ich habe den enctype nur in der add_banner.html Vorlage enctype = "multipart/form-data" – Unknown