i just start to use django and i haven't found a lot of info on how to display an imageField, so i made this:
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')
views.py
def image(request):
carx = Car()
variables = RequestContext(request,{
'carx':carx
})
return render_to_response('image.html',variables)
image.html
{% extends "base.html" %}
{% block content %}
<img src=carx />
{% endblock %}
I already save an image since terminal and i know is there, also if a do this in image.html:
{% block content %}
{{ carx }}
{% endblock %}
The ouput is: Car object
Can anyone tell me where is my error?
Thanks a lot.
Thanks to all, i fix it in this way.
views.py
image.html
settings.py
Now i know that carx.photo.url retrieve the absolute path of the file and its only matter to load as static file.
An
ImageField
contains aurl
attribute, which you can use in your templates to render the proper HTML.You can also make use of the Static URL in Settings.py. Make a directory for example "Uploads", in the Static directory of your app. Also change this in your model in
models.py
.Use the following code: