Найти - Пользователи
Полная версия: Создание html/pdf отчета.
Начало » Python для новичков » Создание html/pdf отчета.
1
n2b
Всем привет! Есть необходимость в создании отчета в программке. Как выглядит отчет еще не придумал, но скорей всего необходимы таблицы, стрелочки что откуда получается (результаты) и так далее. Вообще нужно красиво и не сложно.
Попытался использовать reportlab, но как сделать таблицу не понял (или плохо читал). Отсюда у меня вопрос к вам, в какой форме отчет сделать более легче и как?
ziro
Делайте в html - это намного проще. При необходимости все можно переконвертировать в PDF используя http://www.xhtml2pdf.com/
n2b
А как сделать в хтмл? При помощи чего? Дайте ссылку если не сложно.
cutwater
В принципе можно посмотреть в сторону lxml

Ссылка: http://google.com?q=lxml
ziro
Проще всего, наверное jinja2 (http://jinja.pocoo.org/) использовать.

Вот выдрал из одного проекта:

import os
from jinja2 import Environment, FileSystemLoader
#: Определяет место расположения Jinja2 шаблонов в файловой системе 
TEMPLATE_ROOT = os.path.join(os.path.dirname(__file__), 'templates')
#: Определяет директорию для сохранения сгенерированных модулей
OUTPUT_ROOT = os.path.join(os.path.dirname(__file__), 'reports')
#: Среда выполнения шаблонов Jinja2
jinja_env = Environment(loader=FileSystemLoader(TEMPLATE_ROOT))
def process_template(data, template, outfile):
    """
    Функция выполняет генерацию модуля на основе указанного шаблона
    :param data: данные для рендеринга шаблона;
    :param template: файл шаблона, используемый для генерации отчета;
    :param outfile: имя файла для сохранения сгенерированного кода относительно
                    директории :data:`OUTPUT_ROOT`;
    """
    code = jinja_env.get_template(template).render(**data)
    with open(os.path.join(OUTPUT_ROOT, outfile), 'w') as f:
        f.write(code.encode('utf-8'))
cutwater
ziro
Проще всего, наверное jinja2 (http://jinja.pocoo.org/) использовать.

И то правда. Как-то сразу не подумал о шаблонизаторах. Мой совет снимается в пользу jinja2
n2b
ziro, нашлось время, скачал, установил, почитал документацию и… ничего не понял. В Вашем посте есть кусок из выдранного проекта, где указывается какой шаблон использовать и какие данные туда запихивать, но перед этим шаблон еще надо создать как-то, а вот как это сделать я не понимаю. Кроме офф документации я ничего не нашел… =\
n2b
Все сделал, разобрался, всем спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB