简体   繁体   English

如何在 django3 中的模板上显示上传的文件或图像

[英]how to display uploaded files or images on template in django3

I only see the file path in the template.我只看到模板中的文件路径。 I can't see the file itself.我看不到文件本身。 (django 3.x) (django 3.x)

settings.py设置.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模型.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视图.py

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

index.html索引.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>

you have to loop through your queryset and .url to the image你必须遍历你的查询集和 .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 %}

try this尝试这个

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

and to your model和你的模型

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

urls.py网址.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)

and do migrations并进行迁移

<img class="card-img-top" src="girdi.upload.url"> #像这样在字段名后添加url

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM