Генерация простого отчета в формате PDF с использованием утконоса - PullRequest
1 голос
/ 21 августа 2011

Я пытаюсь сгенерировать отчет в формате PDF с помощью reportlab в django. Я могу получить простой отчет, работая непосредственно с холстом, но похоже, что утконос должен облегчить задачу. Но я не могу заставить работать простой отчет о утконосе.

def all_comps_pdf_report(request):

    # Set up HttpResponse object
    response = HttpResponse(mimetype='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=all_competencies.pdf'

    from reportlab.platypus.doctemplate import SimpleDocTemplate
    from reportlab.platypus import Paragraph
    from reportlab.lib import styles

    doc = SimpleDocTemplate(response)
    Elements = []
    p = Paragraph("Hello World", styles['Heading1'])
    Elements.append(p)
    doc.build(Elements)
    return response

Я получаю ошибку 'module' object is unsubscriptable, которая жалуется на строку p = Paragraph("Hello World", styles['Heading1']). Что я делаю не так?

1 Ответ

1 голос
/ 21 августа 2011

Вы получаете 'module' object is unsubscriptable, потому что вы рассматриваете модуль как массив:)

Если вы просмотрите источник отчета, то увидите, что стили - это просто модуль сВ нем много всего.

Чтобы этот пример работал, вам нужно импортировать таблицы стилей: from reportlab.lib.styles import getSampleStyleSheet, а затем styles = getSampleStyleSheet().

Или вы можете создать свою собственную таблицу стилей - просмотритеДокументы reportlab о том, как это сделать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...