Как сохранить символ python '%' при добавлении в строку, которая будет запущена как html?
Здесь есть некоторая, возможно, важная справочная информация: Я разбираю пути .js на стороне сервера в python, добавляя их в контекстный объект. Моя цель - рефлективная загрузка js-пакетов на основе конечной точки url, используемой клиентом.
@api_view(["GET"])
def home(request, path="tutorial"):
return render(request, "template.html", context={
"path" : "{% static '"+ path +".js' %}"
})
Проблема, с которой я столкнулся, заключается в том, что символ '%' конвертируется неправильно, как видно из журнала сервера:
[23/Apr/2022 11:05:40] "GET /%7B/%%20static%20'tutorial.js'%20/%%7D HTTP/1.1" 404 2574
Я знаю, что '%' используется в python для работы со строками и поэтому добавляется к строкам как многосимвольный код, но я не могу понять, как добавить литерал %. Я пробовал варианты '/%', r'' и b'', .encode() тоже, но ни один из них не изменил результат.
Вот что выполняется на стороне клиента:
<script type="text/javascript" src="{{path}}"></script>
Я протестировал все остальное, и все работает отлично. Я просто не могу заставить python отправлять html-дружественные "%'s!