#!/usr/bin/env python
#coding=utf-8
import os,web,time
import sqlite3 as db
urls = (
'/', 'hello',
'/add','add'
)
class hello:
def GET(self):
#实例化sqldb,然后获取内容
s = ""
sdb = sqldb()
rec = sdb.cu.execute("""select * from msgs""")
dbre = sdb.cu.fetchall()
for i in dbre:
s = "<p>"+i[2]+" <span style=/"color: blue/">"+i[1]+' sad: '+r"</span>"+" <span style=/"color: gray/">"+i[3]+r"</span></p>" + s
sh = """
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
<HEAD><meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE> OK!</TITLE> </HEAD> <BODY><h1>Hello World!</h1>
"""
sb = """
<h2>add a note</h2>
<form method="post" action="/add">
UserName:<INPUT TYPE="text" NAME="uname"><br />
<textarea name="content" ROWS="20" COLS="60"></textarea><br />
<button type="submit">save</button></form></BODY></HTML>
"""
s = sh + s + sb
return s
class add:
def POST(self):
i = web.input('content')
n = web.input('uname')
date = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
sdb = sqldb()
rec = sdb.cu.execute("""select * from msgs""")
dbre = sdb.cu.fetchall()
for k in dbre:
j = k[0]+1
t = (j,n.uname,date,i.content)
sdb.cu.execute('insert into msgs values(?,?,?,?)',t)
sdb.conn.commit()
return web.seeother('/')
def GET(self):
return web.seeother('/')
class sqldb:
#先验证数据库是否存在
def __init__(self):
if os.path.exists("msg.db"):
#如果数据库存在,就直接连接
self.conn = db.connect("msg.db")
self.cu = self.conn.cursor()
else:
#如果数据库不存在,连接,并生成表
self.conn = db.connect("msg.db")
self.cu = self.conn.cursor()
self.cu.execute("""create table msgs(
id integer primary key,
name text,
date text,
content text) """)
self.cu.execute("""insert into msgs values(1,'Ahai','2010-05-19 15:11:20','Ahi alaws be ok!')""")
self.conn.commit()
if __name__=="__main__":
app = web.application(urls,globals())
app.run()
运行截图: