私は多くの同様の質問を読み、これを自分で解決しようと多くの時間を費やしましたが、それでも行き詰まっています。これが私の状況です:
HerokuのDjangoガイド(https://devcenter.heroku.com/articles/django)を読んでいます。私はもともとWindowsから始めましたが、さまざまな問題が発生した後、Linuxに切り替える方がはるかに簡単だと判断しました。ハードドライブをワイプし、Ubuntu12.10とWin7を並べてデュアルブートにインストールしました。すべてがpipでインストールされています(ここでも、Herokuガイドに従います)。PostgreSQLは(おそらく)Herokuと十分に統合されているため、私はPostgreSQLを使用しています。私が試したことに入る前に、ここにエラーがあります(チュートリアルの終わり近くからです):
(venv)wtodom@wubuntu:~/hellodjango$ python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
cursor = connection.cursor()
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/db/backends/dummy/base.py", line 15, in complain
raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
絶対パスで設定ファイルを指定して、正しいパスを使用していることを確認しようとすると、次のようになります。
(venv)wtodom@wubuntu:~/hellodjango$ python manage.py syncdb --settings=/home/wtodom/hellodjango/hellodjango/settings.py
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/core/management/sql.py", line 6, in <module>
from django.db import models
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/db/__init__.py", line 11, in <module>
if DEFAULT_DB_ALIAS not in settings.DATABASES:
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/utils/functional.py", line 184, in inner
self._setup()
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/home/wtodom/hellodjango/venv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 95, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings '/home/wtodom/hellodjango/hellodjango/settings.py' (Is it on sys.path?): Import by filename is not supported.
同様の質問の多くで、間違ったsettings.pyファイルを編集する人がいました。私は正しいものを編集したことを知っています。これがその猫です(ちょっと長いので要点を説明します)-https ://gist.github.com/wtodom/4736303。空の文字列を含め、そこにあるデータについて考えられるすべての組み合わせを試しましたが、違いはありません。
私が読んだ他の投稿には、実行しているDjangoバージョンで問題が発生した人がいます。鉱山は完全に新規インストールであるため、そうではありません。
一部の人々は、Djangoが進路をとっていないという問題を抱えていました。プロジェクトのルートディレクトリからPythonシェルを開くと、インポートできるので、そうではありません。
settings.pyファイルに値がない人もいますが、要点からわかるように、私は値を持っています。python manage.py syncdb
また、pgadminを実行してログインしている場合と実行していない場合の両方で、コマンド( )を実行してみました。
その点について、これは私がデータベースを作成してアップしたことを示すpgadminのスクリーンショットです:http://i.imgur.com/CXD2AWo.png
PostgreSQLで\lしたときに得られるものは次のとおりです(SOがフォーマットを強制終了してからのもう1つの要点):https ://gist.github.com/wtodom/4736359
私がそれにいる間、ここに\ duリストがあります:https ://gist.github.com/wtodom/4736442
manage.pyに含まれていることを確認しos.environ.setdefault("DJANGO_SETTINGS_MODULE", "hellodjango.settings")
ました。
私がdbをローカルで同期しようとするまで(python manage.py syncdb)、HerokuチュートリアルのすべてがUbuntuで問題なく機能しました。herokuでも同じコマンドを実行でき、正常に動作します(heroku run python manage.py syncdb
)。
私が試したり読んだりした関連性のあるものをおそらく忘れていたと思います。私はこの1つのエラーだけで、このことを読んで実行しようとして約6時間を費やしました。他に何をしようか本当にわかりません。
また、私はデータベースと非.NET Web開発に本当に慣れていません(私はプロジェクトに取り組んできましたが、セットアップしたことはありません)。したがって、セットアップの何が問題になっているのかがわかっている場合は、明確にしてください。どうもありがとうございます!