週末はいつも晴れ

社会人3年目の日記です。プログラミングとか旅行とかラーメン。

bottle(python) + sqlite3 でwebアプリを作ります[3]

続きです。

Bottleをcgiとして動かす。

最初のステップです。

アップロード

bottle.pyを含むファイル群をさくらのレンタルサーバーにアップロードしました。
僕はftpクライアントとして、CyberDuckを使っています。

Cyberduck | Libre FTP, SFTP, WebDAV, S3 & OpenStack Swift browser for Mac and Windows
cgiとして動かすファイルは実行権限を705に変更しておきました。
また、最後のアプリケーションを走らせる行を変更しておきました。

run(sever="cgi")

.htaccess

cgiファイルに直接アクセスすると、bottle自体は動いているようでしたが、リンク(route)がうまくはたらいていませんでした。

Google先生に質問すると
python - Problems with Routing URLs using CGI and Bottle.py - Stack Overflow

初めて.htaccessなるものを知り、果てしない便利さに驚愕し、特に何も考えずに上のリンクの内容をコピペして設置しました(笑)。

そうするとroutingがきちんとはたらき、ローカルと同じ状況が再現できるようになりました。


sqlite3のDBを作る。

sqlite3モジュールを使います。

#!/usr/local/bin/python
import sqlite3

print 'Content-type: text/html; charset=utf-8'

conn = sqlite3.connect("scs.sqlite3")
c = conn.cursor()
c.execute('''
    create table scsdb
    (
        id integer primary key, name text, title text, comment text,
        time text, password text, filename text, tag integer, nkil integer, nhoi integer,
        kinoko integer, kiton integer, speed integer
    )
    ''')
c.close()

print "Succcessfully table created."

きちんと動きました。