Tесть приложение на FastApi.
И на некоторых серверах, возникает ошибка
'URL' object has no attribute 'encode'
Весь лог ошибки
return _TemplateResponse(
File "/usr/local/lib/python3.10/dist-packages/starlette/templating.py", line 40, in __init__
super().__init__(content, status_code, headers, media_type, background)
File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 56, in __init__
self.init_headers(headers)
File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 73, in init_headers
raw_headers = [
File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 74, in <listcomp>
(k.lower().encode("latin-1"), v.encode("latin-1"))
AttributeError: 'URL' object has no attribute 'encode'
Когда я произвожу редирект по ссылке я строю ссылку средствами фреймворка
headers={'Location': request.url_for("editLinkCompetitors", idLinkCompetitor=product.id)}
Весь код
template_response = templates.TemplateResponse(
'/manager/products/linkCompetitorEdit.html',
context = {
'request': request,
'product': product,
},
headers={'Location': request.url_for("editLinkCompetitors", idLinkCompetitor=product.id)}
)
return template_response
Причем где-то на каком-то участке кода это срабатывает, а где нет. Никакой закономерности я не понял.
Локально тоже все ок. Что бы решить эту проблему я пишу ссылку редиректа текстом, что не круто....
И я не пойму как возникает и почему возникает эта проблема, и соответственно как ее пофиксить.