【问题标题】:url method of ImageField returns a non-Url value - DjangoImageField 的 url 方法返回一个非 URL 值 - Django
【发布时间】:2010-10-26 03:49:54
【问题描述】:

我正在 Windows 上使用 Django 进行开发。我有一个带有图像域的模型,并使用表格来填充它。图片上传没有问题。当我尝试通过编码在模板中显示上传的图像时出现问题:

<img src ='{{object.image.url}}'/>   

(object是相关模型的一个实例,image是image字段的名称)

但是,图像没有显示,因为 url 方法返回的不是 URL,而是这样的路径:

c:/pp/pm/static/image/xyz.png

我应该怎么做才能使它成为一个真正的 URL?

编辑:

MEDIA_ROOT 和 MEDIA_URL 设置如下:

MEDIA_ROOT = 'C:/pp/pm/static/'
MEDIA_URL = '/static/'

【问题讨论】:

  • 您的代码未显示。
  • 你为什么不把它作为 .url 返回的相对路径?
  • 抱歉,已修复。代码正在显示。
  • 我已将这些设置添加到我的问题中。在发布之前,我阅读了这些示例,在下面的示例中,url 方法返回一个 url:>>>car.photo.url u'media.example.com/cars/chevy.jpg'
  • @SilentGhost:文档并没有说它必须是完全限定的 URL。事实上,在我的所有项目中,我一直在使用相对 URL,“/media/”作为我的 MEDIA_URL。

标签: python django url django-models


【解决方案1】:

我遇到了同样的问题。在模型声明时,我将“upload_to”参数值从绝对路径更改为相对路径,这解决了问题。

【讨论】:

    猜你喜欢
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 2017-08-01
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多