首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django -显示ImageField

Django -显示ImageField
EN

Stack Overflow用户
提问于 2013-07-25 07:03:38
回答 3查看 31.5K关注 0票数 22

我刚开始使用django,我还没有找到很多关于如何显示imageField的信息,所以我做了这样的工作:

models.py

代码语言:javascript
复制
class Car(models.Model):
    name = models.CharField(max_length=255)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    photo = models.ImageField(upload_to='site_media')

views.py

代码语言:javascript
复制
def image(request):
    carx = Car()
    variables = RequestContext(request,{
        'carx':carx
    })
    return render_to_response('image.html',variables)

image.html

代码语言:javascript
复制
{% extends "base.html" %}
{% block content %}
   <img src=carx />
{% endblock %}

我已经保存了一个图像,因为终端,我知道在那里,如果在image.html中也这样做:

代码语言:javascript
复制
{% block content %}
    {{ carx }}
{% endblock %}

输出为: Car对象

谁能告诉我我的错误在哪里?

非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-25 07:07:23

ImageField包含一个url属性,您可以在模板中使用该属性来呈现适当的HTML。

代码语言:javascript
复制
{% block content %}
    <img src="{{ carx.photo.url }}">
{% endblock %}
票数 44
EN

Stack Overflow用户

发布于 2016-12-14 05:08:16

您还可以使用Settings.py中的静态URL。在应用程序的静态目录中创建一个目录,例如"Uploads“。还要在models.py中的模型中更改此设置。

使用以下代码:

代码语言:javascript
复制
<img src="{% static carx.photo.url %}" />
票数 3
EN

Stack Overflow用户

发布于 2013-07-25 16:48:13

感谢所有人,我以这种方式修复它。

views.py

代码语言:javascript
复制
def image(request):
carx = Car.objects.all()
for mycar in carx:
    MyCar = mycar.photo.url
variables = RequestContext(request,{
    'carx':MyCar
})
return render_to_response('image.html',variables)

image.html

代码语言:javascript
复制
{% extends "base.html" %}

{% block content %}
     <img src="{{ MEDIA_URL }}{{ carx }}"/>
{% endblock %}

settings.py

代码语言:javascript
复制
 MEDIA_URL = '/Users/gcarranza/PycharmProjects/django_bookmarks/'
 STATIC_URL = '/Users/gcarranza/PycharmProjects/django_bookmarks/site_media/'
 STATICFILES_DIRS = (
 '/Users/gcarranza/PycharmProjects/django_bookmarks/site_media',)

现在我知道了carx.photo.url检索文件的绝对路径,它唯一的问题就是作为静态文件加载。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17846290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档