Python CGIでウェブアプリを作ってみる その1
最近、Pythonを勉強し始めた訳だが、偶然知り合った方が作ったウェブアプリがPython2.7で書かれたということで、PythonでのCGIが気になったのでやってみました。
自宅で、テスト用というか遊び用に使っている古いLinux機でやったので、Pythonのバージョンは2.4.4です。現在の標準的な文字コードはUTF-8だと思いますが、私の環境ではEUC-JP環境なので、環境に応じた文字コードに置き換えて読んで下さい。
今回はとにかく、インプットとアウトプットの方法を確認しておきたいと思います。
sample1.cgi#!/usr/bin/python # -*- coding: euc-jp -*- import site import cgi import os print "content-type: text/html\n\n" print '<html>' print '<head><meta charset="euc-jp"></head>' print '<body>' print '<h1>CGIサンプル</h1>' print '<form action="sample1.cgi" method="get">' print 'メッセージ <input type="text" name="msg">' print '<input type="submit">' print '</form>' # formで送信される方法を取得して出力してみる if os.environ['REQUEST_METHOD'] == 'POST': print 'POST' elif os.environ['REQUEST_METHOD'] == 'GET': print 'GET' print '<br />' # 入力された値を出力する form = cgi.FieldStorage() if form.has_key('msg'): print '<h2>' + form['msg'].value + '</h2>' print '<body>' print '</html>'
取り敢えず、ちょこちょこっとネットで検索して、こんな感じで書いて動かしてみましたが、いちおう意図通りにデータを取得して表示できているようです。
入出力に関する処理さえできてしまえば、後は通常のローカルで動作するアプリケーションと同じなので、入力値を処理して出力するという事になると思います。
データベースとの連携、ファイルの入出力。これらは複数のプロセスからアクセスされる事があるので、排他処理が重要になってくると思います。
他にはセッションの管理とかクッキーなどの処理ができると、より使い勝手の良いアプリケーションができると思いますので、今後その辺りも探ってみたいと思います。
現段階で予備知識は全くありませんので、手探りで調べながら楽しみたいと思います。
| 固定リンク
「python」カテゴリの記事
- python requests.exception.SSLError SSL接続でエラーが出る(2020.07.27)
- Python+mysqlconnectorでのサニタイジング(エスケープ)(2016.10.21)
- Python CGIでウェブアプリを作ってみる その1(2014.09.13)
- Python CGIでウェブアプリを作ってみる その1(2014.09.13)
- PythonでKInterbasDBを使ってFirebirdデータベースに接続してみる(2014.08.30)
コメント