python读取数据库后生成网页_1.使用python从数据库读数据后自动生成较为美观的html文件...

使用python从数据库读数据后自动生成较为美观的html文件该怎么处理 需要使用哪些库

https://www.zhihu.com/question/67499663

1.用 pandas.DataFrame.to_html() 可以直接转成 html 的 table,

一般处理数据或者报表我习惯使用 pandas,pandas.DataFrame 很方便处理二维表、excel等,也可以很方便地把从数据库获取的数据转成 DataFrame 结构。用 pandas.DataFrame.to_html() 可以直接转成 html 的 table,不过要控制前端显示还是得用 css,或者直接用 bootstrap 框架。

2.不过要控制前端显示还是得用 css,或者直接用 bootstrap 框架

下面的回答只管你如何美化html,不管你如何生成html.

html 是超文本,可以由css 和Javascript 来控制html 的外观。

推荐用Bootstrap

Bootstrap

http://getbootstrap.com/

3.jinja2

需要任意py36

#pip install -U Incantation

pip install Incantation-0.3.3-py3-none-any.whl

参考https://github.com/thautwarm/Incantation doc

解决Python查询Mysql数据库信息乱码问题

#最后通过尝试将 json 模块导入,利用其 dumps 方法,问题得到解决

http://blog.csdn.net/mori66/article/details/54669232

https://www.cnblogs.com/jzss/p/5567318.html

py生成html

官网例子

#pip install -U Incantation

pip install Incantation-0.3.3-py3-none-any.whl

#!/usr/bin/python

# -*-coding:utf-8-*-

import os

import sys

import pymysql

import json

from incantation.Module.CSS.Grid import container, col, row, grid, section

from incantation.Module.CSS.Color import Indigo

from incantation.Module.CSS.Helpers import align, left_align, right_align, center_align

from incantation.Module.CSS.Media import video_container

from incantation.Module import abst

from incantation.Module import blockquote

from incantation.Module.CSS.Table import table

from incantation.Module.abst import default_conf, gen_helper, Seq

from incantation.template import Page

from incantation.Module.Component.Badges import collections, dropdown, badge, collapsible

from incantation.Module.Component.Icons import icon

from incantation.Module.Component.Button import FAB, raised

from incantation.Module.Component.Form import form, input_field

from incantation.Module.Component.Navbar import navbar

def myPage(list):

main = container()

title = blockquote("服务器对应部署的应用信息")

users = table(["ip", "环境","应用类型","应用名称","额外描述"],list)

main.contains(Seq(

col(Seq(title, users),grid(l=8, s=8, m=8)),

))

page = Page(main)

page.write(to='../ip.html')

if __name__ == '__main__':

iplist_all = []

conn = pymysql.connect("172.1.1.1", "root", "password", "cmdb",charset='utf8')

##此处要指定charset为utf-8(一般数据库编码都是utf8或utf8mb4之类),否则读取出的中文会乱码

cur = conn.cursor()

#cur.execute("SELECT ip,env from hosts ORDER BY 2, 1")

cur.execute("SELECT a.ip, a.env, b.item_type, b.item_name, b.description FROM HOSTS a LEFT JOIN applications b ON a.ip = b.ip ORDER BY 2,1")

for row in cur.fetchall():

iplist =[]

iplist = list(row)

# iplistj = json.dumps(iplist,ensure_ascii=False)

# print(iplist)

iplist_all.append(iplist)

myPage(iplist_all)

cur.close()

没有什么逻辑,模拟即可。

2.拷贝static,其实github已经实现,只要按照那个目录排列即可

1512550531717361.png

点击ip,显示效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值