def export_html(self, include_recibo_sacado=True, static_url=None):
''' Gera e retorna o boleto em HTML '''
env = Environment(loader=PackageLoader('python_boleto', 'templates'))
env.filters['index_or_blank'] = filters.index_or_blank
env.filters['format_currency_or_blank'] = filters.format_currency_or_blank
env.filters['format_date_or_blank'] = filters.format_date_or_blank
env.filters['format_agencia_conta'] = filters.format_agencia_conta
template = env.get_template(self._template)
context_data = self.get_context_data() or {}
# Monta a URL do logo do banco
logo_url = self._logo
if static_url:
logo_url = urljoin(static_url, self._logo)
context_data['logo_url'] = logo_url
# gera o barse64 do logo, se possível
try:
logo_img_file = os.path.join(STATIC_DIR, self._logo)
if os.path.exists(logo_img_file):
img = open(logo_img_file, "rb")
context_data['logo_base64'] = base64.b64encode(img.read()).decode('utf-8')
except:
logger.exception("Erro ao converter logo em Base64")
return template.render(boleto=self,
include_recibo_sacado=include_recibo_sacado,
**context_data)
评论列表
文章目录