В пирамиде я делаю
return Response(html % data)
где данные - это диктат со значением% (ключ) s в html. это работает нормально. Но когда есть "%" в html, он ломается. Так как мне это исправить ??
Вместо того, чтобы изобретать велосипеды, вам нужно использовать подходящую библиотеку шаблонов, в Pyramid есть дополнения для Chameleon, Jinja2 и Mako. Вот глава о шаблонах в документации Pyramid .
Помимо очевидной хрупкости, ваш подход также является рецептом для создания уязвимостей XSS, если вы не удалите все данные вручную.