Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでのCGIプログラミングに必要なモジュールは何ですか?


Pythonのcgiモジュールは通常、PythonでCGIプログラムを作成するための出発点です。 cgiモジュールの主な目的は、HTMLフォームからCGIプログラムに渡される値を抽出することです。ほとんどの場合、HTMLフォームを介してCGIアプリケーションと対話します。実行するアクションの詳細を指定するいくつかの値をフォームに入力してから、CGIを呼び出して、仕様を使用してアクションを実行します。

HTMLフォームには、さまざまな種類(テキスト、チェックボックス、選択リスト、ラジオボタンなど)の多くの入力フィールドを含めることができます。

Pythonスクリプトはimportcgiで始まる必要があります。 CGIモジュールによって行われる主なことは、呼び出し元のHTMLフォームのすべてのフィールドを辞書のように扱うことです。取得するのはPython辞書ではありませんが、操作は簡単です。例を見てみましょう-

import cgi
form = cgi.FieldStorage()   # FieldStorage object to
                            # hold the form data
# check whether a field called "username" was used...
# it might be used multiple times (so sep w/ commas)
if form.has_key('username'):
    username = form["username"]
    usernames = ""
    if type(username) is type([]):
        # Multiple username fields specified
        for item in username:
            if usernames:
                # Next item -- insert comma
                usernames = usernames + "," + item.value
            else:
                # First item -- don't insert comma
                usernames = item.value
    else:
        # Single username field specified
        usernames = username.value
# just for the fun of it let's create an HTML list
# of all the fields on the calling form
field_list = '<ul>\n'
for field in form.keys():
    field_list = field_list + '<li>%s</li>\n' % field
field_list = field_list + '</ul>\n'

ユーザーに役立つページを表示するには、さらに多くのことを行う必要がありますが、送信フォームに取り組むことで、良いスタートを切ることができました。


  1. Pythonの関数に必要な引数は何ですか?

    必須の引数は、関数の必須の引数です。これらの引数値は、関数呼び出し中に正しい番号と順序で渡す必要があります。 指定されたコードを実行すると、次の出力が得られます Hi 15 Traceback (most recent call last):   File "requiredarg1.py", line 4, in <module>     requiredArg('Hello') TypeError: requiredArg() takes exactly 2 arguments (1 given) 説明

  2. Python変数の基本的なスコープルールは何ですか?

    MarkLutz著のLearningPythonで、彼はPythonスコープがどのように機能するかを覚えておくために次のニーモニックを提案しています。LEGB 最も狭い範囲から最も広い範囲への移行: Lは「ローカル」の略です。これは、関数のローカルスコープで定義されている変数を指します。 Eは「囲み」の略です。これは、他の関数をラップする関数のローカルスコープで定義された変数を指します。 Gは「グローバル」の略です。これらは、ファイルとモジュールのトップレベルで定義されている変数です。 Bは「ビルトイン」の略です。これらは、インタプリタの起動時にスコープにロードされる名前です。