无法在 Django 中获取动态图像 URL 工作



我正在尝试显示带有 Django 动态网址的 img,但我无法正确获取动态网址

url.py

path('Obra/<int:id>/', views.detalle_obra, name="detalle_obra"),

单身工作.html

...<img src="{{object.img.url}}"

views.py

def works(request, id):
obj = Work.objects.get(id=id)
context= {
'object':obj
}
return render(request, 'works-single.html',context)

当我渲染模板时,此图像会在控制台上弹出:

未找到:/obra/1/static/mySiteWork/img/uploads/Proyecto obra Cerrillos/P5230031.jpg

我不知道为什么显示"/Obra/1/"。当我打印{{object.img.url}}时,它只会向我显示"静态路径static/mySiteWork/img/uploads/Proyecto Obra Cerrillos/P5230031.jpg">

静态文件在其余模板中工作正常

提前谢谢。

这很可能是因为设置文件中MEDIA_URL变量的值。从表单中upload_to的参数是相对于MEDIA_ROOT/MEDIA_URL的。Django 计算用户上传文件的路径为MEDIA_ROOT/MEDIA_URL/file_url

似乎设置中的MEDIA_URL设置为"Obra/1"。

我解决了这个问题: 我在 html 模板上更改了它:

<img src="{{object.img.url}}">

为此:

<img src="/{{object.img.url}}">

不知道为什么...但它工作正常

最新更新