Я новичок в SQLite, поэтому, пожалуйста, потерпите меня, если то, что я собираюсь спросить, кажется глупым.
В настоящее время у меня есть база данных под названием «Статус» с двумя столбцами «штамп» и «сообщения». «messages» содержит текст, а «stamp» содержит метку времени.
Я хотел бы прочитать последние 10 записей в этой базе данных и отобразить их на HTML-странице.
Код, который я использую для чтения из базы данных:
@cherrypy.expose
def readStatus(self):
con = lite.connect('static/database/Status.db')
output = ""
with con:
cur = con.cursor()
cur.execute("SELECT messages FROM Status ORDER BY stamp DESC LIMIT 5")
print "The Status database now contains:"
for row in cur:
print row
output = output + row
return output
Код, который я использую для печати сообщений на HTML-странице:
@cherrypy.expose
def homepage(self):
"""Display the home page showing status update
"""
page = get_file(staticfolder+"/html/homePage.html")
page = page.replace("$STATUS", self.readStatus())
return page
Однако я получаю это сообщение об ошибке:
File "proj1base.py", line 133, in homepage
page = page.replace("$STATUS", self.readStatus())
File "proj1base.py", line 305, in readStatus
output = output + row
TypeError: cannot concatenate 'str' and 'tuple' objects
Я не совсем уверен, что это значит, я предполагаю, что это говорит о том, что тип между «output» и «row» не совпадает. Однако, то, что 'строка' должна читать, это столбец 'messages' базы данных 'status', которая является строкой, а 'output' также является строкой. Так что я не знаю, что происходит, и мне интересно, может ли кто-нибудь помочь?