Presentation is loading. Please wait.

Presentation is loading. Please wait.

CGI Programming with Python Gouichi Iisaka The Company was called Cray Research Japan Co., Ltd.

Similar presentations


Presentation on theme: "CGI Programming with Python Gouichi Iisaka The Company was called Cray Research Japan Co., Ltd."— Presentation transcript:

1 CGI Programming with Python Gouichi Iisaka The Company was called Cray Research Japan Co., Ltd.

2 CGI のためのモジュール z CGI z http lib z HTMLgen z Bobo、BoboPOS z Document Template http://www.python.org/download/Contributed.html#netweb

3 CGI のためのモジュール zJ P ython: Java プラットホームで動作 zSSL Extension http://www.as.cmu.edu/~geek/python-ssl.html zmod_pyapache http://www.msg.com.mx/pyapache/ http://www.python.org/download/Contributed.html#netweb

4 Grail z すべて Python で記述されたWebブラウ ザ Java の HotJava に相当 z Pythonコードをアプレットとして 実行可能

5 JPython z100% Pure Java zPython コードをアプレットとして実行可 能 z 既存の Java クラスライブラリも利用可能 z Javaに比べて2~10倍の開発効率 z OpenS ource z 対応ブラウザ: ySUN HotJava yMicrosoft Internet Explore4.0 yNetscape Navigator 4.06 以上

6 Jpython サンプルコード from java import awt, applet class ButtonDemo(applet.Applet): def init(self): self.b1 = awt.Button('Disable middle button',actionPerformed=self.disable) self.b2 = awt.Button('Middle button') self.b3 = awt.Button('Enable middle button', enabled=0, actionPerformed=self.enable) self.add(self.b1) self.add(self.b2) self.add(self.b3) def enable(self, event): self.b1.enabled = self.b2.enabled = 1 self.b3.enabled = 0 def disable(self, event): self.b1.enabled = self.b2.enabled = 0 self.b3.enabled = 1

7 Jpython サンプルコード from java import awt, applet class CheckboxDemo(applet.Applet): def init(self): cb1 = awt.Checkbox('Checkbox 1') cb2 = awt.Checkbox('Checkbox 2') cb3 = awt.Checkbox('Checkbox 3', state=1) p1 = awt.Panel(layout=awt.FlowLayout()) p1.add(cb1) p1.add(cb2) p1.add(cb3) cbg = awt.CheckboxGroup() cb4 = awt.Checkbox('Checkbox 4', cbg, 0) cb5 = awt.Checkbox('Checkbox 5', cbg, 0) cb6 = awt.Checkbox('Checkbox 6', cbg, 0) p2 = awt.Panel(layout=awt.FlowLayout()) p2.add(cb4) p2.add(cb5) p2.add(cb6) self.setLayout(awt.GridLayout(0, 2)) self.add(p1) self.add(p2) self.validate()

8 CGI モジュール form = cgi.FieldStorage() form_ok = 0 if form.has_key("name") and form.has_key("addr"): if form["name"].value != "" and form["addr"].value != "": form_ok = 1 if not form_ok: print " Error " print "Please fill in the name and addr fields.” return … 他の手続き...

9 CGI のデバッグ ztry … except の前でt raceback をインポー ト zsys.stderr を sys.stdout に割り付ける z ヘッダとブランク行が出力されることを確 認 z デバッグするコードを try … except で囲む zexcept の中で traceback.print_exc() を呼ぶ

10 CGI のデバッグ import sys import traceback print ”Content-type: text/html” print sys.stderr = sys.stdout try: … デバッグしたいコード … except: print print ” ” traceback.print_exc()


Download ppt "CGI Programming with Python Gouichi Iisaka The Company was called Cray Research Japan Co., Ltd."

Similar presentations


Ads by Google