Hy là, ma première question sur ce site, donc désolé pour mon anglais. J'ai donc essayé de télécharger un fichier sur un modèle dans le framework Django.Téléchargement de fichier Django en utilisant le formulaire
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)
ce modèle est le
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)
ceci est la forme
def add_form (demande): form = BannerForm() = dernier 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})
c'est le view.Now chaque fois que j'essaie d'ajouter Une bannière.Je feuillette le fichier, mais après que je presse soumettre, il est que le fichier doit être choisi, comme il ne reconnaît pas ce que je navigue sur le bouton de formulaire.Toute suggestion?
J'ai oublié de mentionner: il dit que le dossier présenté est vide. – Unknown
Avez-vous le jeu 'enctype' dans votre formulaire? –
Je n'ai l'enctype que dans le template add_banner.html enctype = "multipart/form-data" – Unknown