Я использую Django и Reportlab для генерации pdf-файлов. Иногда пользователь будет использовать символ, который определяет ReportLab недействительным, и я получаю это:Reportlab не обрабатывает & & <
ValueError: Ошибка XML парсер (фиктивный < или &) в пункте ...
Есть ли способ избегать этого, кроме ограничения ввода от пользователя?
Вот урезанная версия коды:
def generate_report(request, obj_id):
obj = Model.objects.get(pk=obj_id)
width, height = letter
styles = getSampleStyleSheet()
doc = SimpleDocTemplate(settings.MEDIA_ROOT + "/pdf/" + str(obj.id) + ".pdf", pagesize=letter,rightMargin=72,leftMargin=72,topMargin=160,bottomMargin=100)
Story = []
Story.append('Title', h1))
text = obj.test_to_display
for line in text.splitlines():
Story.append(Spacer(1,0.1*inch))
p = Paragraph(line, style)
Story.append(p)
doc.build(Story)
return HttpResponseRedirect("/media/pdf/" + str(obj.id) + ".pdf")