请告诉我为什么当我通过管理员保存图片时我看不到它?图像保存在数据库中,但如果只是在管理面板中按下已保存图像的链接,我就看不到了。我找不到页面(404),因为此路径中没有图像文件,但如果我在项目中的文件夹中插入相同路径的文件,我可以看到它。因此,正确定义静态文件路径 我在模型中有图像字段:
photo = models.ImageField(upload_to = 'photo/', blank=True)`
设置:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static")
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
MEDIA_ROOT = os.path.join(BASE_DIR, '..', 'static','media')
MEDIA_URL = '/static/media/'
并且似乎应该将其保存在我的项目静态文件夹中,但事实并非如此。
我的项目结构:
project/
-app/
-static/
--media/
---photo/
答案 0 :(得分:2)
媒体根应该是这样的 -
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static','media')
确保以下事项 - 存在一个名为' static'的文件夹。在项目所在的文件夹中。它应该包含一个名为' media'的文件夹。
更新:我认为您的文件夹结构有误。以下应该是您的设置结构 -
-static // MEDIA_ROOT and STATIC_ROOT setting
-media // MEDIA_ROOT setting
-project(src)
-app1
-models.py
-views.py
-...
-static // STATICFILES_DIRS setting