图像不存储在媒体文件夹中,而是创建一个文件夹并存储

Images not store in media folder but creating a folder and store

我正在尝试上传我的应用程序媒体文件夹中的一些图像。问题是图像上传成功但不在媒体文件夹中。它会创建另一个文件夹并存储它们。我的代码详细信息如下:

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)

我正在使用以下表格上传

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

您正试图在 static() 中传递 settings.MEDIAFILES_DIRS 函数,而 django.conf 设置您可以检查 settings 的可用常量。为了存储您上传的媒体内容,您必须像这样设置 MEDIA_ROOT

MEDIA_ROOT = BASE_DIR / 'media'

并且在你的 urls.py 文件中更改为这样

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