Ophelia

ソフトウェアのスクリーンショット:
Ophelia
ソフトウェアの詳細:
バージョン: 0.3.5
日付のアップロード: 15 Apr 15
開発者: Thomas Lotze
ライセンス: 無料
人気: 5

Rating: nan/5 (Total Votes: 0)

オフィーリアはTALで書かれたテンプレートからXHTMLページを作成するPythonプロジェクトは、Zopeのテンプレート言語とNBSP属性であり、それはゼロにコードの繰り返しを低減するように設計されています。
パッケージには、オフィーリアを実行しているWSGIアプリケーションだけでなく、mod_pythonの、Apache2のWebサーバーのPythonモジュールのための要求ハンドラの両方が含まれています。
以下に引用ドキュメントファイルは、モジュールのためのdoctestの数と共に、パッケージディレクトリの中に見つけることができます。
のエントリポイント
あなたはオフィーリアをインストールし、いくつかのテンプレートを書いた後は、どのようにそれがWebページをレンダリングすることができますか?
Apacheでオフィーリアを使用してください
Pythonのパッケージには、mod_pythonのApacheモジュール用の要求ハンドラを提供するモジュールのophelia.modpythonが含まれています。
WSGIアプリケーションとしてオフィーリアを使用してください
オフィーリアはWSGI規格に準拠したアプリケーション·クラスを定義して、PEP 333:ophelia.wsgi.Application。あなたはどちらオフィーリア独自のwsgirefベースのHTTPサーバーを実行してみてくださいまたはあなたが使用することを気にする可能性のWSGIサーバーによってそれを実行することができます。
オフィーリアは「wsgiref "余分有効にして卵としてインストールされている場合wsgirefベースのサーバーは、オフィーリア-wsgiref実行ファイルとしてインストールされます。そのスクリプトのエントリポイントがophelia.wsgi.wsgiref_serverです。
標準出力への単一のページをダンプ
常にオフィーリアの卵と一緒にインストールされている実行可能ファイルは、オフィーリアダンプです。このスクリプトは、オフィーリアは、指定したパスに対応するレスポンスをレンダリングし、必要に応じてHTTPヘッダで、sys.stdoutにそれを印刷しています。スクリプトのエントリポイントはophelia.dump.dumpです。
--helpオプションを指定して呼び出されたときにどちらのスクリプトも、いくつかの使い方の説明を提供する。彼らは、設定ファイルを読み込む。詳細についてはconfiguration.txtを参照してください。
のはどのようなサイトのためのオフィーリアのに良いですか?
静的コンテンツ
薬にSSIとしてオフィーリアを考えてみましょう。それはちょうどたくさん友好とより有能な、根本的に異なるではありません。
あなたは基本的にあなたが一度だけ定期的なものを書く必要があることを除いて、あなたのHTMLを自分で書くのサイトのオフィーリアを使用してください。ゼロに繰り返しを減らすことは価格で来る:あな​​たのサイトには、テンプレートの正しい方法を組み合わせることがオフィーリアのためのパターンに従う必要があります。
階層的であるためにあなたのサイトのレイアウトを考えてみましょう。すべてのページに共通のルックがあります、のセクションでは、特定の特性を持っており、各ページには、ユニークなコンテンツを持っています。この階層は、ドキュメントのファイル·システムの編成に反映していることそれは、オフィーリアに重要です。どのようにテンプレートがコンバインは、ディレクトリの階層で自分の場所から推定される。
動的コンテンツ
オフィーリアは動的なコンテンツを含むためのPython言語を使用できるようになります。各テンプレートファイルには、Pythonスクリプトを含んでいてもよい。 Pythonスクリプトとテンプレートはページ共有に変更し、使用する変数の共通セットを貢献しています。
オフィーリアのコンテンツモデルは、非常に単純であり、あなたが発行する各コンテンツオブジェクトが自身である場合には最高の作品:それが表現されているページ。あなたが外部リソースからコンテンツとにかく(例えばデータベースまたはバージョン管理リポジトリ)を取得した場合、それがある限り、オブジェクトのビューは、オブジェクトの型、あるいはオブジェクトに依存しないようにしてもコンテンツ·オブジェクトごとに複数のビューでオフィーリアを使用するように、まだ大丈夫ですそのもの。
ロジックとプレゼンテーションの醜いもつれにつながる、より複雑なサイトでオフィーリアを使用しようとしています。実際にアプリケーション、コンテンツ管理システムなどへのWebインターフェイスですサイトのためオフィーリアを使用しないでください。
のオフィーリアはのしくみ
テンプレートファイル
各要求のために、オフィーリアは、テンプレートファイルの数を探します。これは、1ページへのサイトルートからのパス上の各ディレクトリから「__init__ "という名前のファイル、およびページ自体のための最終的な1を取ります。その最終的なテンプレートが発見された場合、要求はオフィーリアによって提供されている。
ページを構築する場合、ページのテンプレートが評価され、その内容は内側スロットと呼ばれるものの中に保存されます。その後、バックページからルートに向かう途中で各テンプレートは、順番に評価され、内側スロットの現在の内容を含んでいてもよい。結果は、各ステップの後に内側スロットに格納される。
ルートテンプレートを処理した結果は、ページを務めている。
Pythonスクリプト
各テンプレートファイルには、Pythonスクリプトを起動することがあります。その場合、スクリプトは(空白文字を除いて、左または右)は​​、独自の行に「<?xmlの?>」タグの最初の発生により、テンプレートから分離されている。テンプレートファイルは、Pythonスクリプトではなく、実際にテンプレートのみが含まれている場合は、その最後の行に「<?xmlの?> "置く。
ページへのサイトルートから横断しながら、Pythonスクリプトを順に実行されます。彼らは、後でテンプレートの評価コンテキストとして使用されている変数の同じ名前空間で実行されます。 Pythonスクリプトによって設定された変数は、後で実行するスクリプトによって、だけでなく、テンプレートで使用TALES式で使用され、修正することができる。
名前空間は、リクエストオブジェクトを参照する単一の変数、__request__、とオフィーリアによって初期化されます。このように、スクリプトは、要求の詳細とトラバーサルの内部にアクセスすることができます。変数の設定に加えて、スクリプトは、モジュールをインポート関数を定義、ファイルシステムにアクセスし、一般的にPythonプログラムが行うことができます何かを行うことがあります。
のオフィーリアはのように動作どのように
URL正規化とリダイレクト
オフィーリアがディレクトリに対応するURLを検出した場合、それはデフォルトの設定では、Apacheと同じように動作:URLがスラッシュで終わっていない場合は、スラッシュを追加するためにブラウザをリダイレクトします。スラッシュがある場合は、デフォルトでindex.htmlをという名前のテンプレートを探してみてください、そして、ディレクトリ「インデックス」としてそれをレンダリングします。
構成に応じて、ディレクトリインデックスページの明示的な要求は、最終的なパスセグメントなしでディレクトリのURLを露出するようにリダイレクトされる場合があります。これは、にを回すだろう。
また、オフィーリアは、パスセグメントを含むURLを正規化する "。"と ".."ジェネリックURI構文上のRFC 3986によると、パスの最後ではない空のパスセグメントが削除されます。 URLはこれらの規則によって変更されている場合は、オフィーリアはそれに応じてブラウザをリダイレクトします。
mod_pythonのハンドラ
Apache2のは、mod_pythonのようなモジュールが処理できるそれらの各々の段階で要求を処理する。オフィーリアは、コンテンツ生成フェーズのためにmod_pythonのハンドラを提供します。要求されたURLがオフィーリアによって処理されるように構成されている場合、ハンドラは、ファイルシステム内の適切なテンプレートを検索し、そこからページを構築しようとする。
オフィーリアのmod_pythonのハンドラは、HTTPエラーファイルが見つかりませんの原因となることはありません。それが特定のリソースを構築することはできません見つけた場合代わりに、それは戻ってApacheや他のモジュールに制御を渡します。 Apacheはその場合には、ディスクからの静的コンテンツを提供するフォールバックします。オフィーリアは、このようにテンプレートがテンプレートディレクトリに存在しているだけで、それらの要求を処理するために静的なサイトのトップにインストールすることができます。

の要件の:ます。

  • のPythonます。
  • 開発者の他のソフトウェア Thomas Lotze

    tl.testing
    tl.testing

    15 Apr 15

    tl.pkg
    tl.pkg

    15 Apr 15

    へのコメント Ophelia

    コメントが見つかりません
    コメントを追加
    画像をオンにする!