Django - Display ImageField
An ImageField
contains a url
attribute, which you can use in your templates to render the proper HTML.
{% block content %} <img src="{{ carx.photo.url }}">{% endblock %}
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:
<img src="{% static carx.photo.url %}" />
Thanks to all, i fix it in this way.
views.py
def image(request):carx = Car.objects.all()for mycar in carx: MyCar = mycar.photo.urlvariables = RequestContext(request,{ 'carx':MyCar})return render_to_response('image.html',variables)
image.html
{% extends "base.html" %}{% block content %} <img src="{{ MEDIA_URL }}{{ carx }}"/>{% endblock %}
settings.py
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',)
Now i know that carx.photo.url retrieve the absolute path of the file and its only matter to load as static file.