・ このブログの記事(テキスト・画像)について

ラベル python の投稿を表示しています。 すべての投稿を表示
ラベル python の投稿を表示しています。 すべての投稿を表示

2012年3月27日火曜日

【Wappy】 PythonでWebアプリ開発 ログファイル管理編

ログファイル管理を設定します。
Wappyさんは、デフォルトのインターフェースでは実装されておりません

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1.Wappyに管理者権限でログインをする
2.ホーム→ドメイン→ログ対象のドメインを選択
3.インターフェース設定押下

4.ログローテーションの管理を押下
5.OKボタンを押下

6.統計の項目にログマネージャが追加された。
→これで対象ドメインのログを参照できるようになった。



【3.まとめ】

デフォルトでは、最低限のインターフェースのみ、提供されているのがWappy~

でわでわ~

2012年3月26日月曜日

【Wappy】 PythonでWebアプリ開発 GetとPostのメリット・デメリットのメモ

GetとPostのメリット・デメリット
【1.前提】
・クエリを 送るメソッドには、GETとPOSTの2種類がある。
・GETメソッドは、特定の性質を持ったデータを取得したい時に利用
・POSTメソッドは、データの新規作成や更新のために利用
・2つのメソッドの大きな違いは、クエリがURLの一部としてのこるかどうか。

【2.メリット・デメリットについて】
「GETリクエストのメリット 」
 ・GETメソッドは、クエリの内容がURLに記載されるため、クエリの内容をURLの文字列として保存ができる。
→よくあるのは、Googleで検索したときのURLです。リクエストに必要な情報がすべてURLに埋め込まれている。
・POSTメソッドはクエリがリクエストの中に見えないように埋め込まれている。
→URLにクエリの情報がない。
「GETリクエストのデメリット」
・URLに長さの制限がある
→このため大きなサイズのクエリが送信できない。
1kバイト~数kバイト程度
大きなサイズを送りたい時はPOSTメソッドを使うのが良い。
「POSTリクエストのメリット」
・POSTメソッドで送るデータのサイズには、事実上制限がないそうです。
→POSTメソッドを使うと、長い文字列や文章だけでなく、画像、動画データをWebサーバやWebアプリケーションに送ることができる。
・外部に見せたくないデータを隠す意味で使える。
→正確には、表面上データが見えない。

でわでわ

2012年3月25日日曜日

【Wappy】 PythonでWebアプリ開発 環境変数表示



ベースは前回と同じです。
参考にした本も同じです。

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1. 前回のソースを下記のコードへ変更した、form_create.pyを用意する。

#!/usr/bin/env python
import cgi

print "Content-type: text/html\n"
print cgi.print_environ()

2.FFTPでアップロードする。
3.FFTPでパーミッションを755にする
->今更ですが、必要ないかもw
4.UTF-8のエンコードで保存をする。
5.表示を確認してみる。
http://umayahara.jp/learn_hp/python_web/cgi-bin/environ.py
6.値を受け取って表示されたことを確認できた。




【3.まとめ】

環境変数の値を確認できた

でわでわ~

2012年3月24日土曜日

【Wappy】 PythonでWebアプリ開発 フォームを使ってWebサーバに値を送信!! チェックボックス編



ベースは前回と同じです。
参考にした本も同じです。

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1. 前回のソースを下記のコードへ変更した、form_create.pyを用意する。

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body>
 <form action="./cgi-bin/querytest03.py"method="POST">
  <input type="checkbox" name="language" value="xx01"/>xx01<br />
  <input type="checkbox" name="language" value="xx02"/>xx02<br />
  <input type="checkbox" name="language" value="xx03"/>xx03<br />
  <input type="checkbox" name="language" value="xx04"/>xx04<br />
  <input type="submit" name="submit" />
 </form>
</body>
</html>

querytest03.py
#!/usr/bin/env python
import cgi
form=cgi.FieldStorage()

html_body = u"""
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body>
%s
</body>
</html>"""
content=''
for cnt, item in enumerate(form.getlist('language')):
 content+="%d : %s <br />" % (cnt+1, item)

print "Content-type: text/html\n"
print (html_body % content).encode('utf-8')

2.FFTPでアップロードする。
3.FFTPでパーミッションを755にする
->今更ですが、必要ないかもw
4.UTF-8のエンコードで保存をする。
5.表示を確認してみる。
http://umayahara.jp/learn_hp/python_web/checkbox.html
6.値を受け取って表示されたことを確認できた。
チェックボックス画面
結果画面



【3.まとめ】

チェックボックスを使った送信ができるようになった

でわでわ~

2012年3月23日金曜日

【Wappy】 PythonでWebアプリ開発 フォームを使ってWebサーバに値を送信!!



ベースは前回と同じです。
参考にした本も同じです。

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1. 前回のソースを下記のコードへ変更した、form_test.htmlを用意する。

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body>
 <form action="./cgi-bin/find_test.py" method="GET">13日の金曜日が何日あるかを探します。
  <br />
  西暦を入力してください: 
  <input type="text" name="year" />
  <input type="submit" name="submit" />
 </form>
</body>
</html>

2.FFTPでアップロードする。
3.FFTPでパーミッションを755にする
->今更ですが、必要ないかもw
4.UTF-8のエンコードで保存をする。
5.表示を確認してみる。
http://umayahara.jp/learn_hp/python_web/form_test.html
6.値を受け取って表示されたことを確認できた。
フォーム画面
送信後画面



【3.まとめ】

前回の処理をフォームを使用して、行えるようにした



でわでわ~

2012年3月22日木曜日

【Wappy】 PythonでWebアプリ開発 西暦を求め、13日の金曜日を求めるプログラムを作成



ベースは前回と同じです。
参考にした本も同じです。

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1. 前回のソースを下記のコードへ変更した、find_test.pyを用意する。

  
#!/usr/bin/env python
# coding: utf-8
import cgi 
from datetime import datetime
html_body = u"""
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body>
%s
</body>
</html>"""

content=''

form=cgi.FieldStorage()
year_str=form.getvalue('year', '')
if not year_str.isdigit():
 content=u"西暦を入力してください"
else:
 year=int(year_str)
 friday13=0
 for month in range(1, 13):
  date=datetime(year, month, 13)
  if date.weekday()==4:
   friday13+=1
   content+=u"%d年%d月13日は金曜日です" % (
   year, date.month)
   content+=u"<br />"

 if friday13:
  content+=u"%d年には合計%d個の13日の金曜日があります" % (
  year, friday13)
 else:
  content+=u"%d年には13日の金曜日がありません"
print "Content-type: text/html;charset=utf-8\n"
print (html_body % content).encode('utf-8')


2.FFTPでアップロードする。
3.FFTPでパーミッションを755にする
->今更ですが、必要ないかもw
4.UTF-8のエンコードで保存をする。
5.表示を確認してみる。
http://umayahara.jp/learn_hp/python_web/cgi-bin/find_test.py?year=2000
6.値を受け取って表示されたことを確認できた。



【3.まとめ】
下記、2点の記載方法を学習しました。
・クエリに渡された値が数値化どうかを判別する処理
・クエリとして渡された西暦に「13日の金曜日」が何日あるかを数える処理


でわでわ~

2012年3月21日水曜日

【Wappy】 PythonでWebアプリ開発 cgiモジュールを使ってみる 改良編

前回の続きです。
値の設定に間違いがあったときサーバ側がエラーになる問題がありました。今回は、それの対処版です。

ベースは前回と同じです。
参考にした本も同じです。

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1. 前回のソースを下記のコードへ変更した、querytest02.pyを用意する。

  
#!/usr/bin/env python
html_body = """

testFoo = %s
"""
import cgi
form=cgi.FieldStorage()
print "Content-type: text/html\n"
print html_body % form.getvalue('testFoo','N/A')
    

2.FFTPでアップロードする。
3.FFTPでパーミッションを755にする
4.表示を確認してみる。
http://umayahara.jp/learn_hp/python_web/cgi-bin/querytest02.py?testFoo=4
5.値を受け取って表示されたことを確認できた。
正常な値の場合
不正な値の場合


【3.まとめ】
いよいよWebAPIぽいのが作成する準備が完了しつつあります ><
これでRESTfulなAPIを作成できるのかな?
うーん、まだまだ手探りです ><

でわでわ~

2012年3月20日火曜日

【Wappy】 PythonでWebアプリ開発 cgiモジュールを使ってみる

cgiモジュールを使って、URL上にクエリとして記載された値を取得してみる。


ベースは前回と同じです。
参考にした本も同じです。

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1. 下記のコードを記載したファイル、querytest01.pyを用意する。

  
#!/usr/bin/env python
html_body = """

foo = %s
"""
import cgi
form=cgi.FieldStorage()
print "Content-type: text/html\n"
print html_body % form['foo'].value
    

2.FFTPでアップロードする。
3.FFTPでパーミッションを755にする
4.表示を確認してみる。
http://umayahara.jp/learn_hp/python_web/cgi-bin/querytest01.py?foo=testXX
5.値を受け取って表示されたことを確認できた。


【3.まとめ】
これでRESTfulなAPIを作成できるのかな?
うーん、まだまだ手探りです ><

でわでわ~

2012年3月19日月曜日

【Wappy】 PythonでWebアプリ開発 日付表示編

ベースは前回と同じです。

参考にした本も同じです。

【1.環境】
WindowsXP
Wappy
FFTP
Sakuraエディタ

【2.手順】
1. 下記のコードを記載したファイル、test02.pyを用意する。

  
#!/usr/bin/env python
import datetime
html_body = """

%d/%d/%d %d:%d:%d
"""
now=datetime.datetime.now()
print "Content-type: text/html\n"
print html_body % (now.year, now.month, now.day,now.hour, now.minute, now.second)
    

2.FFTPでアップロードする。

3.表示を確認してみる。
http://umayahara.jp/learn_hp/python_web/cgi-bin/test02.py

【3.まとめ】
datetimeをインポートすることで、日付を表示することが可能なことがわかりました。


でわでわ~