Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django3中的模板上显示上载的文件或图像_Python_Django_Media_Display - Fatal编程技术网

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

Python 如何在django3中的模板上显示上载的文件或图像,python,django,media,display,Python,Django,Media,Display,我只在模板中看到文件路径。我看不到文件本身。 (django 3.x) 设置.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.

我只在模板中看到文件路径。我看不到文件本身。 (django 3.x)

设置.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})
index.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>

{{girdi.aKaydi}}
{{girdi.bKaydi}}
{{girdi.cKaydi}}
{{girdi.yuklemeTarihi}}

您必须通过查询集和.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 %}
{%用于girdiler%中的girdi}
{{girdi.aKaydi}}
{{girdi.bKaydi}}
{{girdi.cKaydi}}
{{girdi.yuklemeTarihi}}
{%endfor%}
试试这个

{% for girdi in girdiler %}
    <img class="card-img-top" src="{{me.upload.url}}">
{% endfor %}
url.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)

迁移是否会像这样在字段名后添加url?girdi.upload->girdi.upload.url是否要显示数据库中的图片?Debug=上传到媒体文件夹的真实图像只是没有显示在模板中我想使用filefield我以前遇到过此错误,并且此模式在我身上有效。请说明我无法完全理解Inspect元素图像并查看src。您将看到路径..然后与数据库映像路径匹配。。我希望您能得到它-Page not found(404)upload=models.FileField(upload_to='media/%Y/%m/%d/',verbose_name='DOSYA YÜKLE')将媒体从upload_中删除到exmp:upload_to='%Y/%m/%d/'
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)