Getting Started

このセクションでは、できるだけ早く Pylons を始められるようになることと、 そのプロジェクトの quick overview を提供することを意図しています。 Pylons の種々な側面の探検を奨励するために、リンクが提供されます。

動作条件

  • Python 2.3 以上 (Python 2.4 以上を強く推奨)

インストール

Warning

以下の instruction は Python 2.4 以上を必要とします。Python 2.3 と ともにインストールするには Python 2.3 インストールガイド を見てくだ さい。

システムにインストールされた Python ライブラリとの衝突を避けるために、 Pylons には “仮想” Python 環境をセットアップするブートストラップ Python スクリプトが付属しています。そして Pylons は仮想環境にインストー ルされます。

By the Way

virtualenv は独立した Python 環境を作成する便利なツールです。 潜在的なシステム衝突の可能性からパッケージを隔離することに加え、多 くのパッケージを system-wide の Python の中にばらまくことなく、 easy_install を使用して Python ライブラリを簡単にインストー ルできるようにします。

もう一つのすばらしい利点は、すべてのモジュールを好きなディレクトリ の下に置くことができるので、 root アクセスは全く必要でないというこ とです。 これによって、共有ホスティングプロバイダーや、 system-wide へのアクセスが入手できないその他のシステムに、動作する Pylons インストールをセットアップすることが簡単になります。

  1. go-pylons.py スクリプトをダウンロードします。

  2. スクリプトを実行して、以下のように、仮想環境を作成するためのディレクトリを指定します:

    $ python go-pylons.py mydevenv
    

Tip

これら 2 つのステップは、 Unix システム上では curl を用いて以下の ショートカットでまとめて実行することができます:

$ curl http://pylonshq.com/download/0.9.7/go-pylons.py | python - mydevenv

system-wide の追加の Python ライブラリからも分離するためには、 –no-site-packages オプションを付けて実行します。

$ python go-pylons.py --no-site-packages mydevenv

この結果、動作する virtualenv と Pylons インストールが得られます。仮想 環境を activate してください (スクリプトは、 mydevenv/dir ディレクトリ へのフルパスを指定することによって実行することもできます):

$ source mydevenv/bin/activate

Windows では、このように activate してください:

> mydevenv\Scripts\activate.bat

ソースコードから直接動かす

Pylons の最新の開発版ソースを取得するために、 Mercurial をインストールしなければなり ません。 Windows, MacOSX, および他の OS のための Mercurial パッケージ も利 用可能です。

最新のコードをチェクアウトします:

$ hg clone https://www.knowledgetap.com/hg/pylons-dev Pylons

setuptools に Pylons というディレクトリに含まれるバージョンを使用す るように伝えるために:

$ cd Pylons
$ python setup.py develop

現在 Pylons のアクティブなバージョンは、このディレクトリの中のコピーで あり、そこで行われた変更は実行される Pylons アプリケーションに反映され るでしょう。

Pylons プロジェクトを作成する

以下のコマンドで helloworld という名前の新しいプロジェクトを作成し てください:

$ paster create -t pylons helloworld

Note

Window ユーザーは、 Windows における注意点 で説明されているように PATH を構成しなければなりません。さもなければ、 (仮想環境 bin ディレクトリに含まれている) paster コマンドにフルパスを指定する 必要があります。

これを実行すると、 2 つのプロンプトが表示されます:

  1. どのテンプレートエンジンを使用するか
  2. SQLAlchemy サポートを含めるか

それぞれのプロンプトについて、デフォルトを受け入れるなら Enter キーを打っ てください (デフォルトでは Mako テンプレート、 SQLAlchemy なしです)

これは作成されたディレクトリ構造と詳しい情報へのリンクです:

入れ子の helloworld ディレクトリ はこんな風になっています:

アプリケーションを実行する

Web アプリケーションを起動する:

$ cd helloworld
$ paster serve --reload development.ini

このコマンドは、 development.ini からプロジェクトのサーバ構成ファ イルを読み込んで、 Pylons アプリケーションを起動します。

Note

--reload オプションは、Python ファイルまたは development.ini 構成ファイルに変更が加えられたら自動的にサー バがリロードされるようにします。これは、開発中は非常に便利です。 サー バを止めるには、 Ctrl+c あるいはプラットホームでそれに相 当するキーを押してください

サーバが稼働しているときに http://127.0.0.1:5000/ を訪問すると、ウェル カムページが表示されるでしょう。

Hello World

基本的な hello world アプリケーションを作成するには、リクエストを扱うた めの controller をプロジェクトに作成します。

$ paster controller hello

作成された helloworld/controllers/hello.py モジュールを開いてく ださい。デフォルトコントローラは単に ‘Hello World’ 文字列を返すようになっ ています。

import logging

from pylons import request, response, session, tmpl_context as c
from pylons.controllers.util import abort, redirect_to

from helloworld.lib.base import BaseController, render

log = logging.getLogger(__name__)

class HelloController(BaseController):

    def index(self):
        # Return a rendered template
        #return render('/hello.mako')
        # or, Return a response
        return 'Hello World'

モジュールの先頭で、コントローラで共通に使用されるいくつかのオブジェク トが自動的にインポートされています。

http://127.0.0.1:5000/hello/index を開いてください。そこには “Hello World” という短いテキスト文字列があるはずです。(必要ならアプリケーショ ンを立ち上げます):

_images/helloworld.png

Tip

URL 設定 では URL がどのようにコントローラとそのメソッドに マッピングされるかが説明されています。

environ の中にある情報のいくつかをレンダリングするためのテンプ レートを加えます。

まず最初に、 templates ディレクトリに hello.mako を以下 の内容で作成してください:

Hello World, the environ variable looks like: <br />

${request.environ}

テンプレートの中の request 変数は、現在のリクエストの情報を得る ために使用されます。 Pylons においてテンプレートの中で使えるすべての変 数は、 template グローバル変数 <template-globals> にリストされています。

次に、 controllers/hello.py モジュールを更新して index メソッド を以下の通りにしてください:

class HelloController(BaseController):

    def index(self):
        return render('/hello.mako')

ブラウザでページをリフレッシュすると、今度はこのように見えるでしょう:

_images/hellotemplate.png
Read the Docs v: v1.0.1rc1
Versions
latest
v1.0.1rc1
v0.9.7
Downloads
PDF
HTML
Epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.