【问题标题】:Django, display image in template that is uploaded from admin panelDjango,在从管理面板上传的模板中显示图像
【发布时间】:2015-10-25 13:12:20
【问题描述】:

我正在学习在 Django 中上传和显示图像,但我遇到了一个问题,我无法弄清楚如何从数据库中调用图像位置,然后将其显示在模板中,我已经上传了来自管理面板的图像并希望在模板中显示它...

models.py 从 django.db 导入模型 从时间导入时间

class Couple(models.Model):
    image_bride = models.ImageField(upload_to='vivaah/static/media')
    image_groom = models.ImageField(upload_to='vivaah/static/media')

vivaah/views.py

def index(request, bride_first_name, groom_first_name):
    obj = Couple.objects.get(bride_first_name__iexact=bride_first_name)
    image_bride = obj.image_bride
    image_groom = obj.image_groom
    context = {'image_bride':image_bride, 'image_groom':image_groom}
    return render(request, 'vivah/index.html', context)

templates/index.html

<img class="profile_pic" src="{{ image_bride.url }}"/>

vivaah/urls.py

from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.conf import settings
from . import views
import os

urlpatterns = [
    url(r'^(?P<bride_first_name>[a-zA-Z]+)weds(?P<groom_first_name>[a-zA-Z]+)/$', views.index, name='index'),
]

urls.py

from django.conf.urls import include, url
from django.contrib import admin


from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.conf import settings
import os


urlpatterns = [
    url(r'^vivah/', include('vivaah.urls')),
    url(r'^admin/', include(admin.site.urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

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

它只显示图像的边框,而不是实际的图像

【问题讨论】:

  • 请添加该图像标签的html输出..
  • @ShrinathShenoy 我已经上传了 html 输出的截图 :)
  • 我的意思是复制在浏览器中呈现的 HTML 页面的源代码。您可以通过右键单击页面的任何部分并在 chrome/firefox 中选择“查看页面源”选项来获取它。复制呈现的源 这部分的输出。
  • 您能否确认在您的img 元素的src 属性中输出了一个URL?如果是这样,您能否确认您可以访问该网址并查看图片?

标签: python django image django-views


【解决方案1】:

在您的 templates/index.html 中,您要求 couple 对象上的 url &lt;img class="profile_pic" src="{{ couple.image_bride.url }}"/&gt; 但 couple 未传递给您的模板。

更改此行context = {'image_bride':image_bride, 'image_groom':image_groom}
给这个context = {'couple': obj}

【讨论】:

  • 我已经通过了 {'image_bride':image_bride} 这是 [image_bride = obj.image_bride] @tsh
猜你喜欢
  • 2011-10-11
  • 2019-06-03
  • 1970-01-01
  • 1970-01-01
  • 2017-01-12
  • 1970-01-01
  • 2013-10-31
  • 2019-09-25
  • 2023-02-04
相关资源
最近更新 更多