簡體   English   中英

Django Admin:從管理表單顯示圖片

[英]Django Admin : Display pictures from Admin Form

不幸的是,自幾個月以來,我一直沒有處理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 %}

我沒有任何錯誤,但是我的圖片沒有顯示,並且有一個小圖標。 我的道路似乎也不錯。

我找到了答案。

我必須像這樣添加.url

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

這樣,我的圖片可以很好地顯示在HTML模板中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM