как отображать загруженные файлы или изображения по шаблону в django3 - PullRequest
0 голосов
/ 08 марта 2020

Я вижу только путь к файлу в шаблоне. Я не вижу сам файл. (django 3.x)

settings.py

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

model.py

class EkleModel (models.Model):
    aKaydi = models.CharField(max_length=50, verbose_name='A KAYDI')
    bKaydi = models.CharField(max_length=50, verbose_name='B KAYDI')
    cKaydi = models.CharField(max_length=50, verbose_name='C KAYDI')
    upload = models.FileField(upload_to='media/%Y/%m/%d/', verbose_name='DOSYA YÜKLE')
    yuklemeTarihi =models.DateTimeField(default =timezone.now)

views.py

def index(request):
    girdiler = EkleModel.objects.filter(yuklemeTarihi__lte=timezone.now()).order_by('-yuklemeTarihi')
    return render(request, 'sayfalarUygulamasi/index.html', {'girdiler': girdiler})

индекс. html

<img class="card-img-top" src="girdi.upload">
<h4 class="card-title">{{girdi.aKaydi}}</h4>
<h4 class="card-title">{{girdi.bKaydi}}</h4>
<h4 class="card-title">{{girdi.cKaydi}}</h4>
<h4 class="card-title">{{girdi.yuklemeTarihi}}</h4>

Ответы [ 3 ]

1 голос
/ 08 марта 2020

попробуйте это

{% for girdi in girdiler %}
    <img class="card-img-top" src="{{me.upload.url}}">
{% endfor %}

и вашей модели

class EkleModel (models.Model):
    upload = models.FileField(upload_to='image/', null=True, blank=True,FileField)

urls.py

from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
...
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns +=static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

и выполните миграцию

0 голосов
/ 08 марта 2020

<img class="card-img-top" src="girdi.upload.url"> #адрес URL после имени поля, как это

0 голосов
/ 08 марта 2020

вам нужно l oop через ваш набор запросов и .url к изображению

{% for girdi in girdiler %}
  <img class="card-img-top" src="{{ girdi.upload.url }}">
  <h4 class="card-title">{{girdi.aKaydi}}</h4>
  <h4 class="card-title">{{girdi.bKaydi}}</h4>
  <h4 class="card-title">{{girdi.cKaydi}}</h4>
  <h4 class="card-title">{{girdi.yuklemeTarihi}}</h4>
{% endfor %}
...