Изменение имени изображения в 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}}">

Должно работать.

Вернуться на верх