Изменение имени изображения в django
Итак, у меня есть 5 изображений в виде статических файлов, и я хочу случайным образом выбирать изображение для отображения при нажатии кнопки. У меня проблемы с обновлением имени изображения. Когда я жестко кодирую имя в html, оно работает.
В своих взглядах я имею:
def test(request):
imagename = 'img' + str(random.randint(0,5)) + '.jpeg' #all the images end with jpeg so this can't be the problem
print(imagename)
return render(request, 'mainbook/index.html', {'image': imagename})
В urls.py у меня есть
urlpatterns = [path('test/', views.test, name='test')]
И наконец в index.html у меня есть:
<form method="post" action="{% url 'mainbook:test' %}">
{% csrf_token %}
<button id="button">Press here</button>
</form>
<img src="{% static '/mainbook/images/{{image}}' %}"></img>
Это, конечно, упрощенная версия, но я думаю, что проблема где-то в этом коде. Я просто не знаю, где именно.
Вы пытаетесь закрыть тег img, и вы не можете использовать "{{ }}" внутри "{% %}"
From:
<img src="{% static '/mainbook/images/{{image}}' %}"></img>
To:
<img src="{% static '/mainbook/images/{{image}}' %}">
Тогда:
<img src="{% static '/mainbook/images/{{image}}' %}">
To:
<img src="{% static '/mainbook/images/' %}{{image}}">
Должно работать.