Pour uploader un fichier dans un formulaire, il faut modifier le model,
class Product(models.Model): name = models.CharField(max_length=50) price = models.FloatField() stock = models.IntegerField() image = models.CharfieldField(max_length=1000)
class Product(models.Model): name = models.CharField(max_length=50) price = models.FloatField() stock = models.IntegerField() image = models.FileField()
Après avoir changé la propriété dans le model, il faut faire une migration
python manage.py makemigrations products #le nom de l'app python manage.py migrate
Ensuite il faut faire quelques modification de code, dans le settings.py de votre projet :
#monprojet\settings.py MEDIA_ROOT = os.path.join(BASE_DIR,'media') MEDIA_URL = '/media/' #monprojet\urls.py from django.contrib import admin from django.urls import path, include from django.conf import settings from django.conf.urls.static import static urlpatterns = [ path('admin/', admin.site.urls), path('products/', include('products.urls')) ] if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)