Передача параметра в шаблон Django. Отображение картинки в браузере

код во views.py

def getFrame(request):
    data = request.GET
    name_video = data.get('video')
    name_picture = frame_one('videos/' + name_video)

    return render(request, 'opencv/GetFrame.html', {'name':name_picture})

В результате работы метода

frame_one 

в папке

static/img 

создается картинка,которую я хочу вывести в браузере. name_picture - имя этой картинки + расширение, например 1.jpg

Далее код шаблона

<svg width="1280" height="720" style="margin-top: 30px; margin-left:60px">
     <image class='frame' xlink:href='{% static "img/{{name}}" %}'></image>
</svg>

В результате,при обращении по url, обработчик которого написан выше получаю ошибку

 GET http://127.0.0.1:5000/static/img/%7B%7B%20name%20%7D%7D 404 (Not Found)

Но если в этой строчке написать так

<image class='frame' xlink:href='{% static "img/1.jpg" %}'></image>

То получим как и хотели картинку То есть получить через {{ name }} параметр и записать его в свойство xlink:href не получается. Как можно это сделать?


Ответы (1 шт):

Автор решения: unknown
<image class='frame' xlink:href='{% static "img/" %}{{name}}'>

Но как вам уже сказали, в каталоге static должны храниться только статические данные проекта (стили, скрипты и т.п.), которые сами по себе никогда не меняются. Для меняющихся данных следует использовать каталог media.

https://docs.djangoproject.com/en/3.0/topics/files/ https://docs.djangoproject.com/en/3.0/howto/static-files/#serving-files-uploaded-by-a-user-during-development

→ Ссылка