読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

python

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)