当前位置: 首页 > news >正文

A simple webframe base on web.py

开源地址

https://github.com/gongqingkui/webFrameBaseOnWeb.py

sqlite3数据库如下

PRAGMA foreign_keys=OFF;

BEGIN TRANSACTION;
CREATE TABLE msgs(id integer primary key,name text,date text,content text);
INSERT INTO "msgs" VALUES(3,'王五','2016-05-20 15:49:59','我叫王五,是一个路人甲,有天我在街上走着,看到对面来了一个人。这个人膀大腰圆,身上纹着一条龙……');
INSERT INTO "msgs" VALUES(4,'GONG QingKui','2016-05-20 16:09:12','This is a simple webframe base on web.py.
');
COMMIT;
代码如下
# encoding: utf-8
import web,os,sqlite3,time
from web import form
#templete floder
render = web.template.render('templates/')
#url tables
urls = ('/', 'viewPost',
    '/newPost', 'newPost',
    '/new', 'new',
    '/delete','delete',
    '/editPost', 'editPost',
    '/edit', 'edit',
    '/viewPost', 'viewPost')


#get or post -> function
class delete:
    #GET function
    def GET(self):
        # url eg. http://192.168.1.3:1234/delete?id=1
        i = web.input(id=None)
        #db
        sdb = sqldb()
        sdb.cu.execute('delete from msgs where id = ?', i.id)
        sdb.conn.commit()
        #go to /viewPost page
        return web.seeother('/viewPost')




class edit:
    #POST function
    def POST(self):
        #the form is i
        i = web.input()
        date = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        sdb = sqldb()
        i = (i.name, i.content, i.id)
        rec = sdb.cu.execute(
            'update msgs set name = ?,content= ? where id = ?', i)
        sdb.conn.commit()
        return web.seeother('/viewPost')


    def GET(self):
        return web.seeother('/')




class new:
    def POST(self):
        i = web.input()
        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, i.name, date, i.content)
        print t
        sdb.cu.execute('insert into msgs values(?,?,?,?)', t)
        sdb.conn.commit()
        return web.seeother('/viewPost')


    def GET(self):
        return web.seeother('/')




class newPost:
    def GET(self):
        return render.newPost()




class editPost:
    def GET(self):
        i = web.input()
        sdb = sqldb()
        rec = sdb.cu.execute('select * from msgs where id = ?', i.id)
        dbre = sdb.cu.fetchall()
        return render.editPost(dbre)




class viewPost:
    def GET(self):
        sdb = sqldb()
        rec = sdb.cu.execute('select * from msgs')
        dbre = sdb.cu.fetchall()
        return render.viewPost(dbre)




class sqldb:
    def __init__(self):
        if os.path.exists('msg.db'):
            self.conn = sqlite3.connect('msg.db')
            self.cu = self.conn.cursor()
        else:
            self.conn = sqlite3.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,'gong','2016-05-16 16:36:00','hello gong')")
            self.conn.commit()




if __name__ == '__main__':
    app = web.application(urls, globals())
    app.run()

http://www.taodudu.cc/news/show-6310663.html

相关文章:

  • [OpenSource] AWBot-一款小巧的测试Web站点的工具
  • EFL+WEBKIT
  • Postfix 邮件服务 - roundcube webmail
  • Web Fonts
  • BMZCTF WEB WEB_penetration
  • webapi Filter
  • fonts/fontawesome-webfont.woff2 404
  • ctfshow SSRF web351-web360 wp
  • WEB:Wife_wife
  • 自动驾驶专业名词简写简写缩写
  • OpenText Content Server 客户案例——全球最大的商业炸药和创新爆破系统供应商Orica
  • Kubernetes 学习15 kubernetes 认证及serviceaccount
  • sqlmap参考
  • Orica 如何维护安全、质量、管理风险、高标准的客户服务和员工福利所需的大量文档和内容
  • 2ASK、2FSK、2PSK、2DPSK、4ASK、4FSK、4PSK、4DPSK、QPSK,以及4QAM、16QAM和MSK、GMSK这些调制和解调过程
  • GSM的调制方式-GMSK
  • GMSK通信系统中频偏估计改进算法
  • GMSK调制解调(二)
  • GMSK技术的原理(Principle of GMSK technologies)
  • 华为模拟器实现wlan二层组网
  • cisco 模拟器安装及交换机的基本配置实验心得_「分享」7个必看的Cisco实验
  • H3C 路由器交换机模拟器
  • JS如何手写new(一看就懂)
  • js 手写电子签名
  • 前端算法及手写算法JavaScript
  • 用 TensorFlow.js 在浏览器中训练一个计算机视觉模型(手写数字分类器)
  • js中的数字
  • JavaScript 数字格式化怎么写(#,##.00) (实用,赞)
  • 手写JavaScript
  • Tensorflow.js||使用 CNN 识别手写数字