djangoを使ってみる
pythonのwebフレームワークであるdjango(ジャンゴ)を使ってみる。
開発環境は、ubuntu 10.04でpython-django (1.1.1-2ubuntu1.4)インストールから動作まで試してみた。
django(wikipedia)
http://ja.wikipedia.org/wiki/Django
インストールから動作まで参考にしたのは下記サイト
【Python】 Djangoをapt-getでUbuntuにインストール
http://blog.srengine.com/2008/03/python-djangoapt-getubuntu.html
インストール
djangoのインストール
$ sudo apt-get install python-django
apache2でpythonを有効にするモジュール(mod_python)のインストール
$ sudo apt-get install libapache2-mod-python libapache2-mod-python-doc
apache2の設定(python動作確認用)
/etc/apache2/sites-available/default に以下(fromからtoまでの部分)を追記する。
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews # AllowOverride None AllowOverride All Order allow,deny allow from all # for django 2012/05/03 Do. ---from ★ AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On # ---to ☆ </Directory>
テストファイルを配置(python動作確認用)
以下のようなテストファイルtest.pyを/var/www以下に置く。
def index(req): return "Test successful"
apacheの再起動
$ sudo service apache2 restart
ブラウザで確認
http://localhost/test.pyにアクセスする。
"Test successful"が見えていればまずはOK。
apache2の設定(django動作確認)
$ cd /var/www/ $ sudo django-admin startproject myprj $ ls myprj/
apacheに設定してプロジェクトディレクトリを利用できるようにする。
/etc/apache2/sites-available/default に以下を追記(fromからtoまでの部分)
# for django 2012/05/03 Do. ---from <Location "/myprj/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all SetHandler python-program PythonPath "['/var/www'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE myprj.settings PythonDebug On </Location> #--- to </VirtualHost>
設定を有効にするため、apacheのrestartする。
$ sudo service apache2 restart
http://localhost/myprjにアクセスする。
「It worked!Congratulations on your first Django-powered page.」とかが見えるはず。
以降も、ほぼ「【Python】 Djangoをapt-getでUbuntuにインストール(http://blog.srengine.com/2008/03/python-djangoapt-getubuntu.html)」を参考に作業した。
違っていた点/追加で作業が必要であった点だけ記載
db名
/var/www/myprj/settings.py DATABASE_NAME = 'myprg' -> 'myprj'
myappに移動して、models.pyで、
username = models.CharField(maxlength=200) -> max_length password = models.CharField(maxlength=200) -> max_length
python-mysqldbのインストール
$ sudo apt-get install python-mysqldb
mysql> create database myprj ->最後にセミコロン";"がいる
以上で、
/var/www/myprj$ python manage.py syncdb で設定できる。
あとは、modelを利用して具体的なデータをセットし、viewを通して取得し、index.html経由でwebアクセス可能になる。