ブログとか作ってみたいかと その2
プロジェクトの作成
PythonやTurboGearsなど、開発に必要なものは
既にインストール済みなので、早速プロジェクトを生成する。
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 10月 25 23:52 tgBlog
で、ディレクトリの中身をみると
-rw-rw-r-- 1 hoge hoge 122 10月 25 23:52 README.txt -rw-rw-r-- 1 hoge hoge 1909 10月 25 23:52 dev.cfg -rw-rw-r-- 1 hoge hoge 2589 10月 25 23:52 sample-prod.cfg -rw-rw-r-- 1 hoge hoge 2117 10月 25 23:52 setup.py -rw-rw-r-- 1 hoge hoge 1194 10月 25 23:52 setup.pyc -rwxrw-r-- 1 hoge hoge 797 10月 25 23:52 start-tgblog.py -rw-rw-r-- 1 hoge hoge 122 10月 25 23:52 test.cfg drwxrwxr-x 2 hoge hoge 4096 10月 25 23:52 tgBlog.egg-info drwxrwxr-x 7 hoge hoge 4096 10月 25 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/