PythonからPostgresSQLを操作する

事前準備

shkh.hatenablog.com developers.mobage.jp

 $ heroku login
 $ heroku create question32
 $ emacs Procfile
 $ pip freeze > requirements.txt
 $ heroku addons:create heroku-postgresql:hobby-dev --app question32
 $ heroku pg:info #[Add-on]
 $ heroku pg:promote [Add-on]
 $ mkdir template
 $ mkdir static #bootstrapなど配置
 $ touch index.html
 $ git add .
 $ git commit -m "flask"
 $ git push heroku master
 $ heroku open
  • Herokuを利用する場合、main.pyには、portの指定が必要。
  • Errorやcssが読み込めているのか確認する。

フォームの情報をPythonで扱う

フォームからの入力をpostgreSQLに保存する

 $ sudo apt-get install postgresql
 $ sudo apt-get install libpq-dev
  $ finger postgres
  $ sudo passwd postgres
  $ su postgres
  $ psql
 =# create role akira with login password '********';
 =# createdb qdb;
 =# exit
  $ psql qdb -U akira
  $ create table qtable(q1 integer,q2 integer,q3 integer,q4 integer,q5 integer,q6 integer,q7 integer,q8 integer,q9 integer);
import psycopg2
connector = psycopg2.connect(host=u"localhost",database=u"qdb"
                ,user=u"****",password=u"******")
cursor = connector.cursor()
        
sql = "insert into qtable values("+str(form.q1.data)+","+str(form.q2.data)+","+str(form.q3.data)+","+str(form.q4.data)+","+str(form.q5.data)+","+str(form.q6.data)+","+str(form.q7.data)+","+str(form.q8.data)+","+str(form.q9.data)+","+str(face)+");"
cursor.execute(sql)

connector.commit()
cursor.close()
connector.close()

参考資料