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)