2016-01-25 2 views
1

Использование двух текстов, заданных PyMOTW, difflib.HtmlDiff.make_file(), используется для вывода HTML-вывода. Однако при сохранении и открытии в браузере необработанный HTML отображается, а не отображается как ожидаемая таблица.Выходной файл difflib.HTMLDiff.make_file() не отображается в браузере

Является ли выход make_file() искаженным? См. here.

Python 2.7

ответ

1

Я использую Python 3.5, и я получаю содержание HTML , как указано в вашей ссылке правильно оказанной без каких-либо изменений. Вы спрашивали о make_table и make_file. Это по ссылке, которую вы указали:

В этом примере используется make_table(), который возвращает только тег таблицы, содержащий информацию о разности. Метод make_file() создает полностью сформированный HTML-файл в качестве вывода.

Таким образом, вы показывали результат от make_file(), а не make_table().


Если вы используете Джанго (только дикая догадка), попробуйте следующее:

{% autoescape off %} 
    {{ your_html_content }} 
{% endautoescape %} 

Вы также можете сделать то же самое с помощью safe:

{{ your_table_content|safe }} 

От Джанго документы:

Отмечает строку, которая не требует дальнейшего вывода HTML до вывода. Когда autoescaping выключен, этот фильтр не имеет никакого эффекта

Подробнее here и here

+0

Да будет пятнами - это 'делают-file' я использую. Это не Django; Я просто играю с difflib. – Pyderman

Смежные вопросы