【发布时间】:2019-12-08 11:07:25
【问题描述】:
我正在制作一个新的 django 应用程序,用户可以在其中上传图像,然后它们可以显示在页面上。我已经阅读了 django 文档 10000 遍,但我仍然不明白为什么我的图像没有加载(DEBUG = True)
我所有的图像都将转到它们应该在的位置,并且在我的模型 django 的管理中具有通向图像的正确路径,但它无法正确加载。
我在 settings.py 中的设置:
STATIC_URL = '/static/'
STATIC_ROOT = 'static' # live cdn such as AWS S3
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
MEDIA_ROOT = os.path.join(STATIC_ROOT, 'media')
MEDIA_URL = '/img/'
我的目录:
|- src
|- myproject
|- settings.py, views.py, urls.py etc
|- myapp
|- views.py urls.py models.py forms.py etc
|- static (this folder is empty and appeared after running collectstatic
|- templates
|- db.sqlite3
|- manage.py
|- static (this folder is OUTSIDE src)
|- admin
|- django admin stuff
|- media
|- img
|- myimage.png
在 myapp 的 models.py 中 imagefield upload_to = 'img/'
正如我所说,图片不会加载到页面上,而是上传到 static/media/img/image_name.png
多年来我一直在尝试解决此问题,但我无法从任何人那里获得任何帮助,并且 django 文档和其他 stackoverflow 问题/答案也没有任何帮助。
感谢您的帮助!
【问题讨论】:
-
您没有在 urls.py 中创建媒体网址
-
什么?我怎么做?这在 django 文档中没有?!
-
滚动到文档的中间。它就在那里
-
就像我在第一条评论中所说的那样,您的 urls.py 中没有媒体网址。这已在文档中进行了解释。
标签: python django django-staticfiles django-deployment