ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

Apache + wsgi を動かしただけで、Djangoが動いてなかった件

スポンサードリンク

前回より
Djangoをインストールしただけで、動かしている気になっていました。
今度こそ動かそう


* プロジェクトの作成

プロジェクトを作成します。
なんと!Djangoさんは用意してあるコマンドで全部できるとのこと
便利!

$ cd /usr/local/apache/htdocs/
$ django-admin.py startproject testproject
$ ls -R testproject/
testproject/:
manage.py  testproject

testproject/testproject:
__init__.py  settings.py  urls.py  wsgi.py

こんなことが・・・!


* では、アクセスしてみます.

ブラウザからアクセスしたところ(Apacheが起動していること前提です)
500 Internal Server Error が・・・・!

もうちっと調整が必要

エラーログを見てみます。

ImportError: Could not import settings 'testproject.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named testproject.settings

どうやら、testproject/testproject/settings.py が読み込めないらしい
読み込めるように、testproject/testproject/wsgi.py を調整

$ vim testproject/testproject/wsgi.py
import sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')

これを追加

もっかいアクセス

500 Internal Server Error

(# ^ω^) ピキピキピキ

エラーログをもういちど確認

ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3

sqliteが、入っていないよーって感じかな?
インストールしていないから、しょうがないよね(´・ω・)

というわけで、db関連のアクセスは一旦コメントアウト

$ vim testproject/testproject/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# 上記記述をコメントアウト

"""
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
"""

アクセス

f:id:aipacommander:20140524200602p:plain

できたっぽい