Skip to content

Instantly share code, notes, and snippets.

@abdelouahabb
Last active November 7, 2019 11:44
Show Gist options
  • Select an option

  • Save abdelouahabb/01c7c88fed65d119d6b8 to your computer and use it in GitHub Desktop.

Select an option

Save abdelouahabb/01c7c88fed65d119d6b8 to your computer and use it in GitHub Desktop.
Using SQLite with Tornado. just a simple code, tornado is easy, and if you want to make a simple application that runs on the same server, use this Gist for less dependecies ^_^
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import tornado.web
import tornado.httpserver
import tornado.ioloop
from tornado.options import define, options
import handlers
import os
define("port", default=8000, type=int)
urls = [
(r"/", handlers.BaseHandler),
(r"/toz", handlers.Recup),
(r"/(.*)", tornado.web.StaticFileHandler, {"path": r"{0}".format(os.path.dirname(__file__))})
]
settings = dict({
"template_path": os.path.join(os.path.dirname(__file__), "templates"), # create a folder templates and put the html file there
#"static_path": os.path.join(os.path.dirname(__file__), "static"), # if there is static files, uncomment this.
"cookie_secret": str(os.urandom(45)),
"xsrf_cookies": True,
"debug": False,
"gzip": True,
})
application = tornado.web.Application(urls, **settings)
if __name__ == "__main__":
server = tornado.httpserver.HTTPServer(application)
server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
#coding: utf-8
import tornado.web
import sqlite3
conn = sqlite3.connect('c:/toz.db')
c = conn.cursor()
try:
c.execute('''CREATE TABLE users (nom text, prenom text, age int)''')
except sqlite3.OperationalError:
pass
class BaseHandler(tornado.web.RequestHandler):
def get(self):
self.render('page.html')
class Saver(tornado.web.RequestHandler):
def post(self):
nomm = self.get_argument('nom')
pren = self.get_argument('prenom')
age = int(self.get_argument('age'))
c.execute("insert into users values (?, ?, ?)", (nomm, pren, age))
conn.commit()
self.redirect('/success')
class Getter(tornado.web.RequestHandler):
def get(self):
c.execute('select * from users')
res = c.fetchall()
#search about fetchmany(int), fetchone() to get only some records or one (note that after getting it, the cursor will increment)
resultat = []
for i in res:
resultat.append(i)
self.write(str(resultat))
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<form action='/toz' method='post' >
{% raw xsrf_form_html() %}
Nom
<input type='text' name='nom'>
Prenom
<input type='text' name='prenom'>
Age
<input type="number" name='age'>
<input type='submit'>
</form>
</body>
</html>
@hclivess
Copy link
Copy Markdown

hclivess commented Nov 7, 2019

where's your Recup class?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment