Pyramidでプロジェクトを作る

今回はPyramidで新しいプロジェクトを作ります。 まず、前回作ったvirtualenv環境[stask]に入ります。

[code lang="shell"]

% workon stask

(stask)%

[/code]

Pyramidプロジェクトを保存したい任意のフォルダに移動してPyramidプロジェクトを作ります。

Pyramidプロジェクトを作るにはpcreateコマンドを使います。 pcreateコマンドは、virtualenv環境内のbin内(~/.virtualenvs/stask/bin/)を参照しています。

今回はSQLAlchemyとURL dispatchを使うscaffoldを元に作ります。

[code lang="shell"]

(stask)% pcreate -s alchemy simpletask

[/code]

これで、現在のフォルダにsimpletaskフォルダができ、その下に次のツリー構造ができあがります。

[code lang="shell"]

(stask)% tree simpletask

simpletask

├── CHANGES.txt

├── MANIFEST.in

├── README.txt

├── development.ini

├── production.ini

├── setup.cfg

├── setup.py

└── simpletask

├── __init__.py

├── models.py

├── scripts

│   ├── __init__.py

│   └── initializedb.py

├── static

│   ├── favicon.ico

│   ├── footerbg.png

│   ├── headerbg.png

│   ├── ie6.css

│   ├── middlebg.png

│   ├── pylons.css

│   ├── pyramid-small.png

│   ├── pyramid.png

│   └── transparent.gif

├── templates

│   └── mytemplate.pt

├── tests.py

└── views.py

[/code]

プロジェクトを作ったら、必要なパッケージを別途インストールします。

まずは開発モード時に必要なパッケージ類がすでにScaffoldで作られているので、次のコマンドでインストールします。(それなりに時間がかかります)

[code lang="shell"]

(stask)% cd simpletask

(stask)% python setup.py develop

[/code]

プロジェクトができたらデータベースを初期化します。

データベース初期化コマンドは、virtualenv環境のbinフォルダの中に、initilalize_プロジェクト名_dbという名前で登録されています。

開発環境のデータベースのセッティング内容はdevelopment.iniに書いてあって、今回はSQLite3にサンプルテーブルとサンプルレコードが新規で作成されます。

[code lang="shell"]

<pre>(stask)% ~/.virtualenvs/stask/bin/initialize_simpletask_db development.ini

[/code]

これで開発環境のWebサーバを起動してアプリケーションを開始できるようになります。

[code lang="shell"]

(stask)% pserve development.ini --reload</pre>

Starting subprocess with file monitor Starting server in PID 20693. serving on http://0.0.0.0:6543

<pre>[/code]

これでブラウザでhttp://0.0.0.0:6543にアクセスするとアプリケーションの初期画面が表示されます。

Pyramid_top_page

次回は、実際の開発に移る前に、テンプレートエンジンをMakoからJinja2に入れ替えます。