Pythonで5ページのウィザードを作成するための優れた/簡単な方法は何ですか。Webサーバーコンポーネントは、XML-RPCバックエンドへの呼び出しを介してデータをフェッチすることにより、ウィザードページのコンテンツをほとんど動的に構成します。XML-RPC Pythonモジュールを少し経験しましたが、どのPythonモジュールがWebサーバーを提供するのか、ウィザードの静的コンテンツを作成する方法、およびWebサーバーを拡張する方法がわかりません。動的コンテンツを作成できるようにするために、WebサーバーからXML-RPCバックエンドへのXML-RPC呼び出しを行うためのコンポーネント。
1 に答える
必要なコンポーネントに分解すると、次のようになります。
- クライアントブラウザからリクエストを受信するHTTPサーバー。
- クライアントブラウザから送信されたURLを確認し、関数/メソッドを呼び出してそのURLを処理するURLルーター。
- そのURLのデータをフェッチするためのXML-RPCクライアントライブラリ。
- フェッチされたデータをHTMLにレンダリングするためのテンプレートプロセッサ。
- レンダリングされたHTMLを応答としてクライアントブラウザに送り返す方法。
これらのコンポーネントは、すべてではないにしても、ほとんどすべてのPythonWebフレームワークによって処理されます。XML-RPCクライアントが欠落している可能性がありますが、既に知っている標準のPythonモジュールを使用できます。
DjangoとPylonsは十分に文書化されており、この種のプロジェクトを簡単に処理できますが、必要のないものもたくさんあります。非常に簡単で絶対的な最小値が必要な場合は、最近リリースされたばかりで話題になっているjunoの使用をご覧ください。
これらのフレームワークは#1を処理し、#2を指定する方法を提供するため、着信要求を処理する関数/メソッドを作成する必要があります(Djangoではこれは「ビュー」と呼ばれます)。
XML-RPCを介してデータをフェッチし、そのデータを辞書に入力し(Djangoではこの辞書は「コンテキスト」と呼ばれます)、そのフレームワークのテンプレートエンジンを呼び出して、コンテキストからHTMLにテンプレートをレンダリングするだけです。 。
関数はHTMLをフレームワークに返すだけで、フレームワークはそれをHTTP応答として適切にフォーマットし、クライアントブラウザーに送り返します。
単純!
更新:これは、Djangoでウィザードスタイルのマルチステップフォームを実行する方法の説明です。