Home > Enterprise >  Images not store in media folder but creating a folder and store
Images not store in media folder but creating a folder and store

Time:05-05

I am trying to upload some images in my app media folder. The problem is images uploaded successfully but not in media folder. Its creates another folder and store their. My code details are given bellow:

urls.py

     from django.contrib import admin
     from django.urls import path
     from ssibdweb import views
     from django.conf import settings
     from django.conf.urls.static import static


    urlpatterns = [
       path('admin/', admin.site.urls),
       path('', views.index, name='index'),

      ]
    if settings.DEBUG:
      urlpatterns  = static(settings.MEDIA_URL, document_root=settings.MEDIAFILES_DIRS)   

settings.py

    MEDIA_DIR = BASE_DIR / 'media'
    MEDIA_URL = '/media/'
    MEDIAFILES_DIRS = [
    STATIC_DIR,
    ]

models.py

   class BlogImage(models.Model):
        id = models.AutoField(primary_key=True)
        sub_id = models.ForeignKey(Subject, on_delete=models.CASCADE)
        pic = models.ImageField(upload_to='blog/')

        def __str__(self):
           return str(self.id)

I am using following form for upload

      <form method="POST" enctype="multipart/form-data" >

CodePudding user response:

You're trying to pass settings.MEDIAFILES_DIRS inside static() function which is not exists in django.conf settings you can check available constants of settings. In order to store your uploaded media content you've to set MEDIA_ROOT value like this

MEDIA_ROOT = BASE_DIR / 'media'

and inside your urls.py file change like this

 if settings.DEBUG:
      urlpatterns  = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
  • Related