インストールする場合は、まずpython本体とeasy_installが使えるようにしておきましょう。インストールができます。easy_installをインストールする¶easy_installが入っていない人は以下の手順でeasy_installを入れましょう。distribute_setup.py或いはaptやyumでインストールすることも可能です。pipでインストールする¶pythonにはeasy_installよりも多機能なpipというツールもあります。普段pipを使っている人はこちらでインストールすることもできます。pipでインストールしてみたい人は以下の手順でインストールします。pipをインストールします。pipはeasy_installからインストールできます。pip次に、pipを使ってPyramidをインストールします。pyramidpipの良いところはアンインストールできる点です。easy_installはアンインストールの方法が提供されておらず、同等のことをする為に多少面倒なことをする必要があります。pipはインストール中に表示されるメッセージの内容がわかりやすく親切です。Windows環境下ではpipを使わない方がいい¶pipは便利なツールですが、Windowsの環境ではpipを使わない方が無難です。pipはeggからのインストールを行いません。ソースからビルドを行います。この為、gccが予め用意されていないWindowsの環境下では問題が起き易くなります。対して、easy_installはPyPIにビルド済みeggが存在すればそちらを利用します。インストールした方が良いでしょう。いう名前のファイルで以下のようなスクリプトを作成してみましょう。このアプリケーションにアクセスできます。関数でビューを追加します。ルーティング¶routingを追加して、URLごとに別の処理を行うようにします。第二引数がURLのパターンです。デコレータで行っています。それぞれアクセスしてみましょう。編集を簡単に行えるようにします。標準でサポートしています。Configuratorにテンプレートが置かれているディレクトリを指定します。テンプレート用のディレクトリを作成しましょう。templatesテンプレートを書いてみましょう。変数を表示するテンプレートです。囲まれた部分は、pythonの式として評価されて、結果がHTML中に表示されます。テンプレートがおかれているディレクトリを指定します。スクリプトファイルが置かれているディレクトリを取得する定石的なコードです。テンプレートを指定します。context¶ビュー関数はあくまでビューなので、ここにロジックを書くのは推奨されません。リソースを定義して、そちらにロジックを書きましょう。リソースはリクエストごとに生成されたり、ロードされたりします。クラスが今回定義したリソースです。してクラスを渡すことで、アプリケーション全体でのデフォルトリソースになります。クラスや関数を渡します。変数はテンプレート内でいつでも参照可能です。属性からコンテキストを参照できます。クラスのインスタンスがコンテキストです。先ほどまではpythonソースファイル1つと、テンプレートファイルだけで進めてきました。実際のアプリケーションを作るときには、モジュールに分割して作業します。これから作るアプリケーションのディレクトリです。わかりやすい名前をつけましょう。pythonパッケージです。pythonパッケージは、モジュールを束ねる役割を持っています。パッケージの初期化をします。モジュールには、それぞれの役割を持っています。実際の処理を行うクラスを書きます。書かれるクラスのオブジェクトは多くの場合、DBなどに保存され永続的に状態を保持します。使って、ファイルレイアウトを作成できるようになっています。コマンドを実行して、新しいアプリケーションプロジェクトを作成してみましょう。コマンドを使っていました。ファイルまで作成されます。作成されたプロジェクトでは、pyramid以外のライブラリも必要となります。状態にすると自動でインストールされます。ファイルはアプリケーションの設定ファイルです。設定には以下のようなものが書かれています。アプリケーションをどのパッケージからロードし、どのようなサーバーで実行するのかアプリケーションの初期化に渡す内容WSGIミドルウェアの設定pserveコマンドは、この設定を使ってWebアプリケーションを起動します。サーバーのポートが6543に設定されています。アクセスして確認してみましょう。実践的な例として、銀行口座を模倣したアプリケーションを書いていきます。これから作る銀行口座は次のようなものです。残高を持っていて、最初は0預け入れをできる。預け入れするとその金額分、残高が増える。引き落とすとその金額分、残高が減る。引き落としの結果、残高が0より少なくなる場合はエラーとなり、残高は減らない。BankAccount¶インタプリタで試してみましょう。基本的に、Webアプリケーションは1リクエストごとにしかものごとを覚えていません。オブジェクトを保存する場所が必要です。銀行口座としては、残高がリクエストするたびに毎回0になっては困ります。このようにリクエストをまたいで必要な情報は、オンメモリセッションや、データベース、ファイルに保存します。今回は、データベースに情報を保存します。使って、オブジェクトをデータベースにマッピングします。アドオンパッケージです。メソッドで呼び出すだけで有効になります。引数は文字列であることに注意しましょう。Noteincludeの引数は文字列でなく、対象のアドオンパッケージをimportして渡すこともできます。データベースへの接続情報を渡します。メソッドで接続情報を追加します。置かれているディレクトリに変換されます。データベースを作成して使用するという意味になります。文がコンソールに表示されます。開発中はこの機能を有効にしておくと便利です。モデルをインタプリタで扱ってみましょう。オブジェクトを表示することだけです。テンプレートに渡します。メソッドを実行させます。