私は Django を使用した Web 開発は初めてなので、ご容赦ください。よろしくお願いします。
Django 独自の Web サーバーと SQLite を学習しながら使用しています。ただし、次のプロジェクトでより複雑なセットアップを機能させるのに苦労しています。
私のセットアップ (Apache、Python、mod_wsgi、PostgreSQL サーバー、psycopg、および Django) は、私の知る限りでは正常に動作するはずです。Django プロジェクトを作成し、ブラウザーで localhost にアクセスしたところ、「Django へようこそ! うまくいきました!」というメッセージが表示されました。ページ。ただし、管理者を有効にしようとして localhost/admin/ にアクセスすると、次のエラーが表示されます (Django 独自の Web サーバーを使用すると、エラーなしでこのページにアクセスできることに注意してください)。
OperationalError at /admin/
FATAL: Role "_www" does not exist
Request Method: GET
Request URL: http://localhost/admin/
Django Version: 1.4.3
Exception Type: OperationalError
Exception Value: FATAL: role "_www" does not exist
Exception Location: /Library/Python/2.7/site-packages/psycopg2/__init__.py in connect, line 178
PostgreSQL または psycopg で何かが正しくないと推測していますが、正確にはわかりません。これが私がここに来た方法です:
- Mac OS X Mountain Lion (10.8.2) の新規インストール。
- Mac App Store から Xcode をインストールし、Xcode の設定からコマンド ライン ツールをインストールしました。
- Apache または Python を更新しませんでした。デフォルトでインストールされているもの (Apache 2.2.22 および Python 2.7.2) を使用しています。
ソースから mod_wsgi 3.4 をインストール
$ curl -O http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz $ tar xvfz mod_wsgi-3.4.tar.gz $ cd mod_wsgi-3.4 $ ./configure $ make
(注:「make」を機能させるには、次の行を入力する必要がありました:)
$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain $ make install
httpd.conf を編集し、以下を追加して Apache を再起動します。
LoadModule wsgi_module libexec/apache2/mod_wsgi.so
- Postgres.app ( http://postgresapp.com ) をダウンロードし、アプリケーション フォルダーにコピーして、PostgreSQL 9.2.2 をインストールしました。
アプリを実行し、 ~/.bash_profile に以下を追加し (ターミナルが Mac OS X にプリインストールされているものではなく、デフォルトで Postgres.app の psql を使用するように)、django で使用する新しいデータベースを作成しました事業:
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
ソースからpsycopg 2.4.6をインストールしました。ファイルをダウンロードして解凍し、解凍したディレクトリから:
$ python setup.py install
ソースから Django 1.4.3 をインストールしました。新しいプロジェクトと新しいアプリを作成しました。settings.py を編集して管理アプリのコメントを外し、データベース設定を入力しました (Postgres.app の Web サイト: http://postgresapp.com/documentation#toc_3で説明されているように)。データベース設定は次のようになります。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'my_db_name', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', } }
urls.py を編集して、管理者関連の行のコメントを外しました。
from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), )
https.conf の末尾に次のテキストを追加しました。
WSGIScriptAlias / /Users/antubel/Projects/Django/antubel_com/antubel_com/wsgi.py WSGIPythonPath /Users/antubel/Projects/Django/antubel_com <Directory /Users/antubel/Projects/Django/antubel_com> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory>
アパッチを再起動しました。ブラウザに localhost/admin/ を読み込もうとしたところ、上記のエラーが発生しました。
助けてください :)
ありがとう、ダスエビア