Django - Как я могу отобразить фотографию, сохраненную в ImageField?

Я часами ходил с этим по кругу.
У меня есть модель UserProfile с profile_picImageField.Я сохранил фото пользователя и теперь хочу его отобразить, но ничего не получается. Я просмотрел документы, SO, Google, но безрезультатно.
Я загрузил фотографию и вижу, что URL-адрес был сохранен в базе данных. Вот что у меня есть:

# models.py
    class UserProfile(models.Model):
        ...
        title       = models.CharField()
        about_me    = models.CharField()
        profile_pic = models.ImageField(upload_to=content_file_name, blank=True)

# views.py
    def user_details(request):
        if request.method == 'POST':
            form = UserProfileForm(request.POST, request.FILES, instance=request.user.get_profile())
            if form.is_valid():
                form.save()
                return HttpResponseRedirect('/')
        else:
            form = UserProfileForm(instance=request.user.get_profile())
        return render_to_response('user_details.html',
                {'user': request.user, 'form': form},
                context_instance=RequestContext(request))

# user_details.html
    {% for field in form %}
      {% if field.name != "profile_pic" %}
        <!-- display regular fields -->
        {{ field.label_tag }}{{ field }}
      {% else %}
        <!-- display the user photo -->
        <img src="{{ MEDIA_URL }}{{ field.url }}" />
      {% endif %}
    {% endfor %}

Когда я просматриваю исходный код HTML, все, что я вижу, это MEDIA_URL (т.е. 'media/'), но не URL-адрес фотографии. Если я заменю {{ field.url }} на {{ field }}, я получу URL-адрес с меткой «В настоящее время», флажком «Очистить» и возможностью изменить изображение. Но я не вижу самого изображения.
Кто-нибудь может подсказать, что я делаю не так?

9
задан user1102018 22 March 2012 в 20:42
поделиться