В моем приложении django я вручную отрисовываю страницу и отдаю ее шаблону, включающему:
def get_context_data(self, **kwargs):
page = render(self.request, test_absolute_path, context, content_type=None, status=None, using=None)
soup = BeautifulSoup(page.content, 'html.parser')
soup.dosomestuff()
page.content = str(soup.decode()).replace('\n','')
context['subtests'].append(page)
return context
Затем включаем рендеринг HTML в шаблон, используя тег safe
:
{{ page.content | safe }}
У меня есть теги, но текст выглядит как байтовый массив, и кодировка по какой-то причине неверна:
b'
My text Cat\xc3\xa9gorisation S\xc3\xa9quqsdazeences R\xc3\xa9ponses associ\xc3\xa9es Fluidit\xc3\xa9
Обратите внимание, что мне также пришлось заменить все \n
ничем в коде.
РЕДАКТИРОВАТЬ:
Я заметил, что при кодировании супа в ascii, по крайней мере, печатаются все символы, я все еще не могу избавиться от \n
или b
, хотя:
page.content = soup.encode('ascii')