我正在尝试显示带有 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}}">
不知道为什么...但它工作正常