Django Admin:显示管理员表单

时间:2018-05-30 13:18:43

标签: python django

不幸的是,几个月以来我一直没有处理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 %}

我没有任何错误,但我的图片没有显示,我有一个小图标。我的道路似乎也很好。

1 个答案:

答案 0 :(得分:0)

我找到了答案。

我必须像这样添加.url

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

通过这种方式,我的图片在我的HTML模板中得到了很好的显示