【问题标题】:Retrieving images uploaded by users in Django Templates检索用户在 Django 模板中上传的图像
【发布时间】:2020-07-16 14:18:52
【问题描述】:

我了解有多个(如果不是 100 多个)问题与我的问题有关。尝试了所有之后,我终于在这里问了。我能够在模型中上传图像和图像路径。模型中的图像字段示例:

<ImageFieldFile: static/image1_FzGpiKx.jpeg>

我的静态文件夹就在项目和应用文件夹所在的位置。在类似的层次结构中。我的 settings.py 文件中有以下设置:

MEDIA_ROOT = '/static/'
MEDIA_URL = '/'

在我的应用级 urls.py 中,这是我用于渲染这些图像的内容:

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

完成所有这些设置后,我的模板将以下内容显示为 img src:

/static/image1_FzGpiKx.jpeg

这是我在模板中的渲染方式:

<img src={{article.image.url}} />

但它只是呈现典型的损坏图像图标。有人可以在这里帮助我吗?谢谢!

【问题讨论】:

  • 您在模板中的显示效果如何?请也发布该代码
  • 我已经添加了代码。谢谢!
  • 您是否也将 STATIC_ROOT 设置为“静态”?它与 MEDIA_ROOT 冲突,请将您的 MEDIA_ROOT 更改为其他内容
  • 不,我有一个单独的 STATIC_ROOT 路径。 '/hello/' 和 STATIC_URL = '/hello/'

标签: python django


【解决方案1】:
MEDIA_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/static/'

在你的设置文件中使用它,然后上传一张新图片然后检查它

【讨论】:

  • 具体来说,我的变量 MEDIA_ROOT 与您建议的有什么区别?我的不会也隐式命中 base_dir 吗?
  • 不,实际上你给的那个没有得到项目路径。因此它在你的项目目录之外寻找一个以 /static/ 开头的目录,而 django 不允许这样做
猜你喜欢
  • 2013-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 2019-04-06
  • 2015-10-25
  • 2017-03-06
  • 1970-01-01
相关资源
最近更新 更多