IBM i で Python を使ってみよう!!(2)- Hello World の実行と HTML ファイルの表示 -

Python で書くアプリケーションの典型として、Webアプリケーションを今回は例に取って説明します。その際、前回導入した Bottle というフレームワークを利用していきます。


Hello World の実行

まず最初に、ただメッセージを出すだけのシンプルなプログラム、いわゆるよくある "Hello World" を実行してみましょう。

Bottle のページに Example として載っているそのままのものです。当然、Bottle の導入が前提になっています。実行してみる時は、システム名などは適宜変更してくださいね。

sample_hello.py

from bottle import route, run, template

port_number=8889
host_location='nodejs'
 

@route('/hello/<name>')

def index(name):

    return template('<b>Hello {{name}}<b>!', name=name)


run(host=host_location, port=port_number, debug=True)

↓ のように実行します。

ブラウザからアクセスすると ↓ のような画面が出るはずです。

パラメータによって Hello で呼びかける対象が変更できるようになっています。たとえば、日本人の名前を入れてみましょうか。

こんなふうに、日本語の難しめな漢字でも対応できます。ちなみに、この例の名前はたまたま『壇蜜日記』を読書中で、目についただけです。特にファンだとかいうわけではありません。


HTML ファイルの表示

ここからは「Sample web application with Python」を参考にしながら実行していきたいと思います。

まず、「IBM i で node.js を使ってみよう!!(2)- HTMLファイルを表示させる -」で紹介した HTML ファイルを表示させる(だけの)サンプルとまったく同じ仕様のプログラムです。

sample_fs.py

from bottle import static_file, route, run


port_number=8889
host_location='nodejs'

file_name='sql.html'
 

@route('/sample')

def sample():

    return static_file(file_name, root='/home/python/')
 

run(host=host_location, port=port_number, debug=True)

↓ のように実行します。

HTML ファイルとして、後で SQL アクセスのための入力画面となるものを表示させることとしましょう。

sql.html

<!DOCTYPE HTML>
<html lang="ja">
        <head> 
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <title>Node.js for i Sample</title>
        </head> 
<style> 
input {
        height:30px;
        border:#ccc solid 1px 
}
input[type="text"] {
        width:500px 
}
input[type="submit"] {
        margin:1em; 
        width:120px 
} 
</style>
<body> 
        <form name="input" action="query" method="post">
                <div>SQLコマンドの実行</div>
                <input type="text" name="sql" placeholder="SELECT * FROM ..."/>
                <input type="submit" value="Query"/>
        </form> 
</body>
</html>

IBM i で node.js を使ってみよう!!(2)- HTMLファイルを表示させる -」や「IBM i で node.js を使ってみよう!!(3)- SQL でデータベースにアクセス -」で使ったものとほとんど同じ sql.html です。GET が POST に変更されていることに注意してください。

ブラウザからアクセスすると ↓ のように表示されます。node.js のものを流用したので、タイトルがそのままになっていることがわかりますね。


このサンプルでは「IBM i で node.js を使ってみよう!!(2)- HTMLファイルを表示させる -」の時と同様に、単に HTML ファイルの表示だけを行うようになっています。SQL を入力しても実行はできません。

次回は、この SQL 実行用の HTML ファイルからの SQL 実行リクエストを受け付けられるように、今回紹介した Python のプログラムを変更してみようと思います。

[Top Pageに戻る]

Ads by TOK2