【问题标题】:Django Admin : Display pictures from Admin FormDjango Admin:显示来自管理表单的图片
【发布时间】:2018-05-30 13:18:43
【问题描述】:

不幸的是,几个月以来我都没有处理过 Django。我想知道如何将 Django 对象从我的管理表单显示到我的模板。

我正在制作一个个人网站,所有表单(添加图片、添加额外信息……)都应该来自管理面板。

我有一个 model.py 文件:

from __future__ import unicode_literals
from django.db import models

class ImageUpload(models.Model) :

    Nom                 = models.CharField(max_length=50, verbose_name="Nom de l'objet", blank=False)
    Instrument          = models.CharField(max_length=50, verbose_name="Instrument", blank=False)
    Imageur             = models.CharField(max_length=50, verbose_name="Imageur", blank=False)
    Monture             = models.CharField(max_length=50, verbose_name="Monture", blank=False)
    Instrument_Guidage  = models.CharField(max_length=50, verbose_name="Instrument de Guidage", blank=False)
    Imageur_Guidage     = models.CharField(max_length=50, verbose_name="Imageur de Guidage", blank=False)
    Reducteur           = models.CharField(max_length=50, verbose_name="Reducteur/Correcteur de Focale", blank=False)
    Logiciels           = models.CharField(max_length=60, verbose_name="Logiciels", blank=False)
    Date                = models.DateField()
    Nombre_Pose         = models.IntegerField(verbose_name="Nombre de pose total")
    Temps_Pose          = models.IntegerField(verbose_name="Temps de pose unitaire")
    Integration         = models.FloatField(verbose_name="Temps de pose total")
    Darks               = models.IntegerField(verbose_name="Nombre de Darks")
    Flats               = models.IntegerField(verbose_name="Nombre de Flats")
    Bias                = models.IntegerField(verbose_name="Nombre de Bias")
    Lunaison            = models.FloatField(verbose_name="Pourcentage de Lune")
    FWHM                = models.FloatField(verbose_name="FWHM moyenne")
    Temperature         = models.IntegerField(verbose_name="Température")
    Lieu                = models.CharField(max_length=60, verbose_name="Lieu de Photo", blank=False)
    Image_upload        = models.ImageField(upload_to='Media/', verbose_name="Image")

    def __unicode__(self):
        return unicode (self.id, self.Nom, self.Instrument, self.Imageur, self.Monture, self.Instrument_Guidage, self.Imageur_Guidage, self.Reducteur, self.Logiciels, 
        self.Date, self.Nombre_Pose, self.Temps_Pose, self.Integration, self.Darks, self.Flats, self.Bias, self.Lunaison, self.FWHM, self.Temperature, self.Lieu, self.Image_upload)

我有我的 admin.py 文件:

from django.contrib import admin

from .models import ImageUpload

class ImageUploadAdmin(admin.ModelAdmin) :

    fields = ["Nom", "Instrument", "Imageur", "Monture", "Instrument_Guidage", "Imageur_Guidage", "Reducteur", "Logiciels", 
        "Date", "Nombre_Pose", "Temps_Pose", "Integration", "Darks", "Flats", "Bias", "Lunaison", "FWHM", "Temperature", "Lieu", "Image_upload"]

admin.site.register(ImageUpload,ImageUploadAdmin)

还有我的 views.py 文件:

def CielProfond(request) :

    Images = ImageUpload.objects.latest("id")

    return render(request, 'CielProfond.html', {"Images" : Images})

最后,在我的模板文件中:

{% block content %}
<img src='{{Images.Image_upload}}'/>
{% endblock content %}

我没有任何错误,但我的图片没有显示并且我有一个小图标。我的路好像也不错。

【问题讨论】:

标签: python django


【解决方案1】:

我找到了答案。

我必须像这样添加.url:

<img src='{{Images.Image_upload.url}}'/>

这样,我的图片在我的 HTML 模板中很好的显示了

【讨论】:

    猜你喜欢
    • 2013-04-24
    • 2015-01-08
    • 2013-09-16
    • 2019-08-29
    • 1970-01-01
    • 2012-05-20
    • 2017-09-04
    • 1970-01-01
    相关资源
    最近更新 更多