ブログとか作ってみたいかと その2

プロジェクトの作成

PythonTurboGearsなど、開発に必要なものは
既にインストール済みなので、早速プロジェクトを生成する。

TurboGearsでプロジェクトを生成するには、
「tg-admin」コマンドを使用する。

$ tg-admin quickstart
Enter project name: tgBlog
Enter package name [tgblog]:
Do you need Identity (usernames/passwords) in this project? [no] yes

これで、ユーザ認証が可能なプロダクトが生成される。
以下のようなディレクトリができる。

drwxrwxr-x 4 hoge hoge   4096 1025 23:52 tgBlog

で、ディレクトリの中身をみると

-rw-rw-r-- 1 hoge hoge  122 1025 23:52 README.txt
-rw-rw-r-- 1 hoge hoge 1909 1025 23:52 dev.cfg
-rw-rw-r-- 1 hoge hoge 2589 1025 23:52 sample-prod.cfg
-rw-rw-r-- 1 hoge hoge 2117 1025 23:52 setup.py
-rw-rw-r-- 1 hoge hoge 1194 1025 23:52 setup.pyc
-rwxrw-r-- 1 hoge hoge  797 1025 23:52 start-tgblog.py
-rw-rw-r-- 1 hoge hoge  122 1025 23:52 test.cfg
drwxrwxr-x 2 hoge hoge 4096 1025 23:52 tgBlog.egg-info
drwxrwxr-x 7 hoge hoge 4096 1025 23:52 tgblog

Webアプリの雛型を立ち上げるには、以下のようにする。

$ ./start-tgblog.py

すると、びゃ〜と以下のようにログが出力され、
テスト用のサーバが立ち上がる。

2007-10-26 00:09:13,950 cherrypy.msg INFO CONFIG: Server parameters:
2007-10-26 00:09:13,951 cherrypy.msg INFO CONFIG:   server.environment: development
2007-10-26 00:09:13,951 cherrypy.msg INFO CONFIG:   server.log_to_screen: True
2007-10-26 00:09:13,951 cherrypy.msg INFO CONFIG:   server.log_file:
2007-10-26 00:09:13,952 cherrypy.msg INFO CONFIG:   server.log_tracebacks: True
2007-10-26 00:09:13,952 cherrypy.msg INFO CONFIG:   server.log_request_headers: True
2007-10-26 00:09:13,952 cherrypy.msg INFO CONFIG:   server.protocol_version: HTTP/1.0
2007-10-26 00:09:13,953 cherrypy.msg INFO CONFIG:   server.socket_host:
2007-10-26 00:09:13,953 cherrypy.msg INFO CONFIG:   server.socket_port: 8080
2007-10-26 00:09:13,954 cherrypy.msg INFO CONFIG:   server.socket_file:
2007-10-26 00:09:13,954 cherrypy.msg INFO CONFIG:   server.reverse_dns: False
2007-10-26 00:09:13,954 cherrypy.msg INFO CONFIG:   server.socket_queue_size: 5
2007-10-26 00:09:13,955 cherrypy.msg INFO CONFIG:   server.thread_pool: 10
2007-10-26 00:09:14,003 turbogears.visit INFO Visit Tracking starting
2007-10-26 00:09:14,036 turbogears.visit.sovisit INFO Succesfully loaded "tgblog.model.Visit"
2007-10-26 00:09:14,036 turbogears.visit INFO Visit filter initialised
2007-10-26 00:09:14,153 turbogears.identity INFO Identity starting
2007-10-26 00:09:14,195 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.User"
2007-10-26 00:09:14,196 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.Group"
2007-10-26 00:09:14,196 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.Permission"
2007-10-26 00:09:14,197 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.VisitIdentity"
2007-10-26 00:09:14,238 turbogears.identity INFO Identity visit plugin initialised
2007-10-26 00:09:14,242 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.User"
2007-10-26 00:09:14,242 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.Group"
2007-10-26 00:09:14,243 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.Permission"
2007-10-26 00:09:14,243 turbogears.identity.soprovider INFO Succesfully loaded "tgblog.model.VisitIdentity"
2007-10-26 00:09:14,446 cherrypy.msg INFO HTTP: Serving HTTP on http://localhost:8080/