Pythonのマイクロウェブフレームワークの「Flask」のチュートリアルを試してみました。
Flaskへ ようこそ - Flask v0.5.1 documentation
http://a2c.bitbucket.org/flask/
のサイト内のチュートリアルを基に試してみます。
但し、日本語に訳されてるこのバージョンは古く、最新版のFlaskは、0.9です。
Welcome to Flask - Flask 0.9dev documentation
http://flask.pocoo.org/docs/
しかし、チュートリアルの内容は、変わっていないようでした。
MacBook AirのMac OSXの10.7.4の環境で行います。
まず、virtualenvの環境構築を行います。
Flaskのインストールについて - virtualenv
http://a2c.bitbucket.org/flask/installation.html#virtualenv
Flaskのチュートリアルにvirtualenvの環境が必須という訳ではありません。しかし、virtualenvを使った方が、MacBook AirのPythonの環境に影響を与えず、仮想環境内のPythonで完結するので、virtualenvを使います。
Linuxでは、システムの管理自体にPythonを使っていることが多く、Pythonのバージョンを上げてしまうと、システム自体に支障が出ることもあります。以前、間違ってPythonのバージョンを上げてしまい。yumが動かなくなって、困ったことがありました。
virtualenvについては、下記でのサイトの説明が分かりやすいです。
今日のPython - VIRTUALENV について
http://blog1.erp2py.com/2011/07/virtualenv.html
virtualenvをインストールします。
仮想環境の入る前に、Pythonの環境について確認しておきます。Flaskへ ようこそ - Flask v0.5.1 documentation
http://a2c.bitbucket.org/flask/
のサイト内のチュートリアルを基に試してみます。
但し、日本語に訳されてるこのバージョンは古く、最新版のFlaskは、0.9です。
Welcome to Flask - Flask 0.9dev documentation
http://flask.pocoo.org/docs/
しかし、チュートリアルの内容は、変わっていないようでした。
MacBook AirのMac OSXの10.7.4の環境で行います。
まず、virtualenvの環境構築を行います。
Flaskのインストールについて - virtualenv
http://a2c.bitbucket.org/flask/installation.html#virtualenv
Flaskのチュートリアルにvirtualenvの環境が必須という訳ではありません。しかし、virtualenvを使った方が、MacBook AirのPythonの環境に影響を与えず、仮想環境内のPythonで完結するので、virtualenvを使います。
Linuxでは、システムの管理自体にPythonを使っていることが多く、Pythonのバージョンを上げてしまうと、システム自体に支障が出ることもあります。以前、間違ってPythonのバージョンを上げてしまい。yumが動かなくなって、困ったことがありました。
virtualenvについては、下記でのサイトの説明が分かりやすいです。
今日のPython - VIRTUALENV について
http://blog1.erp2py.com/2011/07/virtualenv.html
virtualenvをインストールします。
$ pip install virtualenv
$ pip freeze Django==1.3.1 PIL==1.1.7 PyRSS2Gen==1.0.0 Twisted==11.0.0 altgraph==0.7.1 bdist-mpkg==0.4.4 bonjour-py==0.3 distribute==0.6.26 include-server==3.1-toolwhip.1 macholib==1.3 modulegraph==0.8.1 numpy==1.5.1 py2app==0.5.3 pyOpenSSL==0.12 pyobjc-core==2.3.2a0 pyobjc-framework-AddressBook==2.3.2a0 pyobjc-framework-AppleScriptKit==2.3.2a0 pyobjc-framework-AppleScriptObjC==2.3.2a0 pyobjc-framework-Automator==2.3.2a0 pyobjc-framework-CFNetwork==2.3.2a0 pyobjc-framework-CalendarStore==2.3.2a0 pyobjc-framework-Cocoa==2.3.2a0 pyobjc-framework-Collaboration==2.3.2a0 pyobjc-framework-CoreData==2.3.2a0 pyobjc-framework-CoreLocation==2.3.2a0 pyobjc-framework-CoreText==2.3.2a0 pyobjc-framework-DictionaryServices==2.3.2a0 pyobjc-framework-ExceptionHandling==2.3.2a0 pyobjc-framework-FSEvents==2.3.2a0 pyobjc-framework-InputMethodKit==2.3.2a0 pyobjc-framework-InstallerPlugins==2.3.2a0 pyobjc-framework-InstantMessage==2.3.2a0 pyobjc-framework-InterfaceBuilderKit==2.3.2a0 pyobjc-framework-LatentSemanticMapping==2.3.2a0 pyobjc-framework-LaunchServices==2.3.2a0 pyobjc-framework-Message==2.3.2a0 pyobjc-framework-OpenDirectory==2.3.2a0 pyobjc-framework-PreferencePanes==2.3.2a0 pyobjc-framework-PubSub==2.3.2a0 pyobjc-framework-QTKit==2.3.2a0 pyobjc-framework-Quartz==2.3.2a0 pyobjc-framework-ScreenSaver==2.3.2a0 pyobjc-framework-ScriptingBridge==2.3.2a0 pyobjc-framework-SearchKit==2.3.2a0 pyobjc-framework-ServerNotification==2.3.2a0 pyobjc-framework-ServiceManagement==2.3.2a0 pyobjc-framework-SyncServices==2.3.2a0 pyobjc-framework-SystemConfiguration==2.3.2a0 pyobjc-framework-WebKit==2.3.2a0 pyobjc-framework-XgridFoundation==2.3.2a0 python-dateutil==1.5 virtualenv==1.7.1.2 wsgiref==0.1.2 xattr==0.6.1 zope.interface==3.5.1次に、myprojectというフォルダを作って、envと言う名前の仮想環境を作成します。
$ mkdir myproject $ cd myproject $ virtualenv env New python executable in env/bin/python Installing setuptools............done.envという仮想環境をアクティブにします。
$ . env/bin/activate あるいは $ source env/bin/activateシェルの前に括弧付きで仮想環境名が表示されれば、仮想環境に入っています。
(env)$仮想環境を抜け出すためには、deactivateコマンドを使います。
(env)$ deactivate仮想環境の状態で、Pythonの環境を確認します。
(env)$ pip freeze wsgiref==0.1.2別のPython環境に入っていることが分かります。 Flaskをインストールします。
(env)$ pip install flaskインストール後、Pythonの環境を確認します。
(env)$ pip freeze Flask==0.9 Jinja2==2.6 Werkzeug==0.8.3 wsgiref==0.1.2Flaskは、2つのライブラリの依存しているので、その2つのライブラリも一緒にインストールされています。「Jinja2(ジンジャ2)」というテンプレートシステムと、Werkzeug(ウェルクツォィグ)というWSGIツールキットです。
Flaskのインストールが出来たので、チュートリアルの内容を行います。
http://a2c.bitbucket.org/flask/tutorial/index.html
完全なソースは、下記からダウンロードできるので、まず動作確認からしたい人は、そのソースを基に動作を確認できます。
https://github.com/mitsuhiko/flask/tree/master/examples/flaskr/
ダウンロードしたファイルを解凍して、flaskrフォルダの中に入ります。
まずデータベースの作成と初期化を行います。
(env)$ python >>> from flaskr import init_db >>> init_db()あとは、flaskr.pyを起動すれば、動作確認が出来ます。
(env)$ python flaskr.py * Running on http://127.0.0.1:5000/ * Restarting with reloaderhttp://127.0.0.1:5000/にアクセスをすると、トップページが表示されます。ログインのリンクと、まだ記事が何も無い旨のメッセージが表示されます。
ソースに記載されているログイン情報で、ログインします。
ログインできたメッセージ表示と、タイトルと内容を投稿するフォームが表示されます。
タイトルと内容を記載して、「Share」ボタンを押します。
投稿した記事が表示されます。
ソースの内容については、下記のページにて詳しく説明されています。特に迷うこともなく、分かりやすい説明で、その通り動作しました。
http://a2c.bitbucket.org/flask/tutorial/index.html
Djangoのようなフルスタックのフレームワークではないので、覚えることが少なく、気軽にウェブアプリケーションが作れそうなフレームワークだと思います。
0 件のコメント:
コメントを投稿