Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

bottleとsqlite3を連携させて簡単なメモ表示ツール その1:存在するデータの表示

bottleとsqlite3を連携させて簡単なメモ表示ツールをつくる方法です。
第一回目は存在するDBからデータの表示する方法です。

実際のところ

あらかじめ、blogpost.sqliteというDBを作った上でtableも用意しておきます。

  • /blogにアクセスしたら、最新の記事
  • /blog/にアクセスしたらnum番目の記事

という表示を考える場合、以下のような感じになります。

from bottle import get, run, template
import sqlite3

conn = sqlite3.connect('blogtest.sqlite')

BASE_QUERY_FOR_BODY = 'select body from blog '

@get('/blog')
def recentBlogPost(num):
    query = BASE_QUERY_FOR_BODY + 'order by rowid desc limit 1;'
    cur = conn.cursor()
    for row in cur.execute(query):
      body = row
    return template('<p>{{body}}</p>!', body=body[0])

@get('/blog/<num>')
def recentBlogPost(num):
    query = BASE_QUERY_FOR_BODY + 'where rowid=' + str(num)
    cur = conn.cursor()
    for row in cur.execute(query):
      body = row
    return template('<p>{{body}}</p>', body=body[0])

run(host='localhost', port=8080)