Django - 显示ImageField

uni*_*xeO 20 python django imagefield

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

models.py

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')
Run Code Online (Sandbox Code Playgroud)

views.py

def image(request):
    carx = Car()
    variables = RequestContext(request,{
        'carx':carx
    })
    return render_to_response('image.html',variables)
Run Code Online (Sandbox Code Playgroud)

image.html

{% extends "base.html" %}
{% block content %}
   <img src=carx />
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

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

{% block content %}
    {{ carx }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

输出是:汽车对象

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

非常感谢.

voi*_*hos 34

一个ImageField包含一个url属性,你可以在你的模板用来呈现适当的HTML.

{% block content %}
    <img src="{{ carx.photo.url }}">
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

  • 假设有一台服务器配置为从`site_media`提供内容,无论如何. (2认同)