2

Python2.5 で syncdb を使用してデータベースを構築するのに苦労しています。この問題の一部は、forum.models のインポートにワイルドカード* を使用しているためだと思います。ループを作成しているようです。

>>> import settings  
>>> from forum.managers import QuestionManager, TagManager, AnswerManager, VoteManager, FlaggedItemManager, ReputeManager, AwardManager  
Traceback (most recent call last):  
  File "<console>", line 1, in <module>  
  File "/home/username/webapps/username/sousvide_app/forum/managers.py", line 6, in <module>  
    from forum.models import *  
  File "/home/username/webapps/username/sousvide_app/forum/models.py", line 18, in <module>  
    from forum.managers import QuestionManager, TagManager, AnswerManager, VoteManager, FlaggedItemManager, ReputeManager, AwardManager  
ImportError: cannot import name QuestionManager  
>>> from forum.models import Question, Tag  
>>> from forum.managers import QuestionManager, TagManager, AnswerManager, VoteManager, FlaggedItemManager, ReputeManager, AwardManager  
>>> import sys, pprint  
>>> pprint.pprint(sys.path)  
['/home/username/webapps/username/sousvide_app',  
 '/home/username/webapps/username/lib/python2.5',  
 '/home/username/lib/python2.5/markdown2-1.0.1.16-py2.5.egg',  
 '/home/username/lib/python2.5/html5lib-0.11.1-py2.5.egg',  
 '/home/username/lib/python2.5',  
 '/usr/local/lib/python25.zip',  
 '/usr/local/lib/python2.5',  
 '/usr/local/lib/python2.5/plat-linux2',  
 '/usr/local/lib/python2.5/lib-tk',  
 '/usr/local/lib/python2.5/lib-dynload',  
 '/usr/local/lib/python2.5/site-packages',  
 '/usr/local/lib/python2.5/site-packages/PIL']  
>>> from settings import INSTALLED_APPS  
>>> pprint.pprint(INSTALLED_APPS)  
('sousvide_app.forum',  
 'django.contrib.auth',  
 'django.contrib.contenttypes',  
 'django.contrib.sessions',  
 'django.contrib.sites',  
 'django.contrib.admin',  
 'django.contrib.humanize',  
 'django_authopenid')  

forum.managers からマネージャーを明示的にインポートすることで修正できた別のインストールでも同じ問題がありました。
ご覧のとおり、質問モデルとタグ モデルを名前空間にロードすると、シェルにマネージャーをインポートできます。

from forum.models import * を明示的に作成しました:
from forum.models import 質問、タグ

ただし、まだsyncdbを実行できません。SQL を出力しようとすると、APP が見つかりません。
$ python2.5 manage.py sql forum
Error: ラベル forum のアプリが見つかりませんでした。INSTALLED_APPS の設定は正しいですか?

誰が私に何がうまくいかないのか教えてもらえますか?
このエラーの原因となる可能性のある Python2.5 に関するものはありますか?

4

1 に答える 1

0

global_settings.pyまたはlocal_settings.pyに加えてを使用していsettings.pyますか?

Django の設定をインポートする適切な方法は、分離されたオブジェクトを使用するfrom django.conf import settingsことimport settingsです。それについてはこちらのドキュメント ページを参照してください: Python コードでの設定の使用

それが問題の解決策であるかどうかははっきりとは言えませんが、アプリが に表示されないことが問題であると言う場合、設定が適切に読み込まれていることを確認するための正しい方向への一歩ですINSTALLED_APPS.

于 2010-01-23T08:47:46.363 に答える