我有以下代码可以生成所需的 HTML。但它打印在页面顶部,而不是我想要的位置。
def fixText(self,text):
row = []
z = text.find(',')
if z == 0: row.append('')
else: row.append(text[:z])
for x in range(len(text)):
if text[x] != ',': pass
else:
if x == (len(text)-1): row.append('')
else:
if ',' in text[(x+1):]:
y = text.find(',', (x+1))
c = text[(x+1):y]
else:
c = text[(x+1):]
row.append(c)
return row
def output(self):
output = ""
fob=open('files/contacts.txt','r')
tup = []
while 1:
text = fob.readline()
if text == "": break
else: pass
if text[-1] == '\n':
text = text[:-1]
else: pass
row = self.fixText(text)
tup.append(row)
output = tup.sort(key=lambda x: x[0].lower())
_list1 = len(tup)
i = 0
table = ""
while i < _list1:
j = 0 #need to reset j on each iteration of i
_list2 = len(tup[i])
print("<tr>")
while j < _list2:
print("<td>" + tup[i][j] + "</td>")
j += 1
print("</tr>")
i += 1
return output
如您所见,我有一个打印出 HTML 代码的嵌套循环。这很好用,但是当我尝试将它注入我的模块化站点时,它会在页面顶部打印它。我的预感是以下代码是我需要更改的部分。
#!/usr/local/bin/python3
print('Content-type: text/html\n')
import os, sys
import cgitb; cgitb.enable()
sys.path.append("classes")
from Pagedata import Pagedata
Page = Pagedata()
print(Page.doctype())
print(Page.head())
print(Page.title("View Contact"))
print(Page.css())
html='''</head>
<body>
<div id="wrapper">
<div id="header">
<div id="textcontainer">{1}</div>
</div>
<div id="nav">{2}</div>
<div id="content">
<h2>Heading</h2>
<h3>Sub Heading Page 2</h3>
<table>
<tbody>
{0}
</tbody>
</table>
</div>
<div>
<div id="footer">{3}</div>
</body>
</html>'''.format(Page.output(),Page.header(),Page.nav(),Page.footer())
print(html)
我的课程页面上还有其他功能,例如header
、footer
等,可以正常工作。
例如,页脚已正确插入到div#footer
. 但是生成的表 si 没有插入 where{0}
是。
您可以在此处查看损坏的代码。