【问题标题】:Site on localhost not displaying image本地主机上的站点不显示图像
【发布时间】:2012-09-26 08:20:24
【问题描述】:

我正在尝试使用 Django 模板显示图像。

在我的设置中:

MEDIA_ROOT = 'C:/workspace/mysite/uploaded_media/'
MEDIA_URL = 'http://localhost:8000/mysite/media/'

html是

<img source = "http://localhost:8000/mysite/media/blabla.jpg"></img>

我在 upload_media 文件夹中有一个图像文件 blabla.jpg

我在这里错过了什么?

编辑:第一个问题是在标签中写“source”而不是“src”。多哈。 (现在尝试下面的答案。)

【问题讨论】:

  • 你的 settings.py / urls.py 中有什么? stackoverflow.com/questions/2237418/…
  • 不确定我是否理解。我 settings.py 我有上述设置以及许多其他的东西。在 urls.py 中,我没有任何特定于媒体的内容。页面已渲染,只是不显示图像。
  • 所以看看我提到的链接中显示的 urls.py :)
  • 杰里米,哎呀,我没有看到链接;)你说得对,不过,我错过了 urls.py 中的模式

标签: django image


【解决方案1】:

试试

MEDIA_URL = '/media/'

在模板中

<img src="/media/blabla.jpg" />

同样将这些代码行放在你的 urls.py 中并将 DEBUG 设置为 True

if settings.DEBUG:
  # static files (images, css, javascript, etc.)
  urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.MEDIA_ROOT}))

【讨论】:

  • 看看我的编辑,重要的部分,添加到你的 urls 文件的行
  • 是的,成功了! (还必须写“从 django.conf 导入设置”)但是这仅在调试模式下有效吗?我是否可以一直将此模式添加到我的 urlpatterns 中,而不仅仅是在 settings.DEBUG 中?
  • 当您使用与 django 不同的 Web 服务器进行生产时,您将通过编写所需角色通过 Web 服务器静态地提供这些文件。如果对您有用,您可以接受答案。
  • 谢谢。当我开始生产时,我会担心这个......现在它工作得很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-23
  • 2015-06-21
  • 2018-09-28
  • 2021-03-01
相关资源
最近更新 更多