スクリプト
Pyramidは、いくつかの方法でWebアプリケーションを構築するのに優れています。 Pylonsと同様、Pyramidは導入前に、SQLAlchemyを使用して従来のルート指向RDBMSアプリケーションを構築できます。 他のRDBMSベースのWebフレームワークとは異なり、Pyramidは、PloneとZopeの世界で馴染みのあるコンテンツ指向アプリケーションを簡単に構築するための非常に優れた装備も備えています。
これはPlone会議のチュートリアルであるため、コンテンツ指向アプリケーションにおけるPyramidの長所を示すプレゼンテーションスクリプトを選択しました。 より正確には、チームのタスクを設定できる階層型プロジェクト管理システム。
このチュートリアルを学習するときに、Projectorというアプリケーションを作成します。
インストール方法
このチュートリアルでは、Python 2.6以降が既にインストールされており、インターネット接続があり、選択したテキストエディターがあることを前提としています。 これで最初のステップを開始できます。 他のステップでは、追加パッケージのインストールが必要になる場合があります。
テキストメモ:Windowsユーザーは、作業環境に合わせてUNIX ismsを調整する必要があります。
ワークスペースは次のようになります。
someworkingdirectory /
tutorial_workspace /
venv ### virtualenvのターゲット
creatingux /
step01
step02
など
リソース
step01
step02
など
など
手順
シェルを開き、作業ディレクトリに移動します
- $ mkdir tutorial_workspace; cd tutorial_workspace
- $ virtualenv --no-site-packages venv
- $ export PATH = / path / to / tutorial_workspace / venv / bin:$ PATH
- $ easy_install
/home/ks/projects/tutorial_workspace/venv/bin/easy_install
- $ easy_install pyramid WebTest nose
- $ export PYRAMID_RELOAD_TEMPLATES = 1
コード例
このガイドの各ステップでは、読者がコード例を入力して、動作するアプリケーションを作成する必要があります。 これらの手順のディレクトリはPythonパッケージではありませんが、単純なディレクトリにはPythonモジュールがいっぱいです。 さらに、それらは完全に機能し、個別の例では、体系的にアプリケーション全体に成長します。
サンプルファイルは、学習プロセスの一部としてコードを入力したくない場合に使用できます(注: そのページには何もありません)。
PyramidのシンプルなUXの作成
この一連の手順では、ロジックとデータの代わりに、ユーザーエクスペリエンス(UX)の本質を構築します。
目標
- Pyramidの可能な限り単純なデモンストレーション
- ユニットテストとWebTestを使用して開発を加速する
- カメレオンとZPTによるパターニング
- テンプレートの生産性のためのマクロと「スキーム」(レイアウト)の使用
- 静的リソース
- JSONレンダラー経由のAJAX
ワークフロー
多くのプロジェクトには、通常は理解して承認するために何かを見たいクライアントから始まる一貫したワークフローがあります。 通常、チームの「UI担当者」はこの段階で作業を行い、作業用プロトタイプを所定の場所に配置してから、ロジックが完全であると見なされます。
このチュートリアルでは、このようなワークフローをシミュレートします。 この最初の部分では、Pyramidアーキテクチャの深い知識がなくても、Projectorでさまざまな種類のプロトタイプを作成する方法を示します。
ステップ01:ピラミッドのHello World
Pyramidで始める最も簡単な方法は何ですか? 個別ファイルモジュール。 パッケージ、インポート、setup.pyなどはありません。
目標
- 画面上でピラミッドピクセルを取得するのは可能な限り簡単です。
- これをよく理解されたベースとして使用して、さらに複雑にします
技術的要件
- HTTPサーバーとして機能するようにビューを持つモジュールを作成します
- ブラウザでURLにアクセスします
背景
マイクロフレームは最近の普遍的な魅力です。 実行時の負荷が低くなります。 また、彼らは脳に負荷をかけません:彼らはあなたがタスクについて考えるだけでよいほど少ししか行いません。
Pyramidは、独立したマイクロフレームワークファイルとして機能できるため、特別です。 Pythonから直接実行できる単純なPythonファイルがあります。 しかし、Pyramidは巨大なアプリケーションにも対応します。
手順
ここで述べたようにすべてをすることを確認してください 。
そしてさらに進んだ:
$ mkdir creatingux; cd creatingux
$ mkdir step01; cd step01
以下のテキストを新しく作成されたファイルstep01 / application.pyにコピーします。
wsgiref.simple_server import make_server から
pyramid.config import Configurator から
pyramid.response からの インポートレスポンス
#これは表示機能として機能します
def hello_world (リクエスト):
return Response( 'hello!' )
def main ():
#設定を取得し、ビューを追加して、WSGIアプリを作成します
config = Configurator()
config add_view(hello_world)
app = config make_wsgi_app()
アプリを返す
__name__ == '__main__'の場合 :
#コマンドラインから実行する場合、WSGIサーバーとアプリを起動する
app = main()
server = make_server( '0.0.0.0' 、 8080 、app)
サーバー serve_forever()
$ python application.py
ブラウザで
127.0.0.1:8080
を開き、見て、喜んでください。
追加の質問
- HTMLの文字列を返すとどうなりますか? 整数のシーケンス?
- ビュー関数にprint xyzなどの何か間違ったことを入れてください。 Pythonアプリケーションを強制終了して再起動し、ブラウザを更新します。 コンソールの例外は何ですか?
- PyramidはPythonコードの自動更新をサポートしていますか?
分析
この単純なモジュールは、数行のコードに対してほとんど機能しないため、Webアプリケーションの作成はマイクロフレームに似ています。 ビュー機能が構成に追加されます。 呼び出されると、ビューは応答を返します。
説明
メガフレーム、マイクロフレーム、およびPyramidの前提条件はこれに基づいています。
パート3: