@bwylla

Как можно вывести изображение на страницу сайта?

У меня есть форма которая принимает изображения, они сохраняются в папке media, но я не знаю как можно эти изображения вывести на странице. Желательно, чтобы показывало именно последнее загруженное изображение.
Заранее спасибо за помощь!!!

# index.html
{% load static %}
{% block content %}
    <form method="post" enctype="multipart/form-data">
        {% csrf_token %}
        {{ form }}
        <input type="submit">
    </form>
{% endblock content %}


#photo.html
{% extends 'blog/index.html' %}
{% block content %}
hello
{% endblock content %}


#models.py
class UploadFile(models.Model):
    title = models.CharField(max_length=50)
    image = models.ImageField(upload_to='media')


#views.py
def upload_file(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('photo')
    else:
        form = UploadFileForm()
    return render(request, 'blog/index.html', {'form': form})


#urls.py приложения
urlpatterns = [
    path('', upload_file),
    path('photo/', post_list, name='photo')
]


#urls.py корневой
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
views.py
def post_list(request):
    return render(request, 'photo.html', {'last_photo': UploadFile.objects.last()})

photo.html
<img src="{{ last_photo.image.url }}">

Крайне рекомендую прочитать руководство Django, чтобы таких примитивных вопросов не возникало.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы