Как визуализировать шаблон с использованием jinja2 с запросом sql - PullRequest
0 голосов
/ 19 июня 2020

Привет, у меня есть следующий код, мне нужно поместить результат в html с помощью jinja2, я использую pandas для выполнения некоторых запросов из моей базы данных, результатом запроса должен быть шаблон для рендеринга и показать его в электронная почта, любые идеи или решения

from __future__ import print_function
from jinja2 import Environment, FileSystemLoader

import datetime
import os
import cx_Oracle
import sftp_connect
import pandas as pd
PATH = os.path.dirname(os.path.abspath(__file__))
TEMPLATE_ENVIRONMENT = Environment(
    autoescape=False,
    loader=FileSystemLoader(os.path.join(PATH, 'templates')),
    trim_blocks=False)
def main():
    sid = 'database_name'
    dsn_tns = cx_Oracle.makedsn('server_name', 'port', sid)
    con = cx_Oracle.connect(user='user', password='pass', dsn=dsn_tns)
    pf=pd.read_sql_query("select doc_number, type, pages from TABL_DOCUMENT where doc_number= 786", con)
    content=TEMPLATE_ENVIRONMENT.get_template("result.html").render(pf)
    basename="daily_{0}.html".format(
        datetime.datetime.now().strftime("%Y%m%d"))
    output_filename=os.path.join(PATH, basename)
    with open(output_filename, "w") as of:
        of.write(content)
    with sftp_connect.SSH("server", port, "name", "name") as conn:
        conn.transfer(output_filename,
                      "/usr/data/daily/{0}".format(basename)) 

        conn.execute(
            "python /usr/data/program/smtp_config.py /usr/data/daily/{0}".format(basename))
    os.remove(output_filename)  

if __name__ == "__main__":
    main()

результат этого кода будет

Doc_number      type        pages 
3333             DF            5
5666             MF            9
4343             NO            23

этот результат должен отображать html.

, поэтому любой код за результат. html заранее спасибо.

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