如何访问ImageField对象并将其显示为模板

时间:2020-05-28 00:21:51

标签: python django django-models django-rest-framework django-views

我无法从应有图像的数据库访问数据。 如何访问它们,然后将其渲染到模板。

#models.py
class Pic(models.Model):
image = models.ImageField(upload_to='cover/pdfs', null=True, blank = True)

#forms.py
class ImageForm(forms.ModelForm):
class Meta:
    model= Pic
    fields= "__all__"

#views.py
def dash(request):
try:
    _id = request.session['client']['id']
except:
    return redirect("/loginPg")

userBio = Bio.objects.get(userData = User.objects.get(id = request.session['client']['id']))

theUploads = Pic.objects.all()
print("This image object -", theUploads)
#for pic in theUploads:
    #print("MyPc", pic["image"])
content = {
    "title" : userBio.title,
    "qA" : userBio.quoteA,
    "qB" : userBio.quoteB,
    "desc" : userBio.desc,
    "authorA" : userBio.authorA,
    "authorB" : userBio.authorB,
    "pictures" : theUploads
}

return render(request, "GoEnigma/dashboard.html", content)

我听说过Pillow,并查看了文档。我对如何解决问题感到困惑。如果对此有任何想法,我很乐意接受。

1 个答案:

答案 0 :(得分:2)

在您的html中,您可以像下面一样遍历“图片”:

{% for picture in pictures %}
  ...
  <img src="{{picture.image.url}}"/>
  ...
 {% endfor %}