質問

私は混乱によるディーにより若干の誤差が生じっとして私はそうとするとアプリにする。べての動作に開発ができないsyncdbを入力しDjangoシェルの生産ます。もしかしたらエラーの場合forum.models.py は輸入の試みforum.managers.py でのモデルなの名前空間になった。

されてはいかがでしょうか、PYTHONPATH問題であることがわかっていても、かの地鶏や卵の側面です。かわからないのはなぜTagManagerの名前
TagManagerが続して直接取り込む:
からのフォーラム管理者import*
実行される前にTagManagerのクラスは呼び出されます。

$python2.5manage.py syncdb
トレースバックの最):
ファイル"manage.py"、11、
execute_manager(設定)
ファイル"/home/app_name/webapps/app_name/lib/python2.5/django/core/経営/init.py"、362、execute_manager
ユーティリティexecute()
ファイル"/home/app_name/webapps/app_name/lib/python2.5/django/core/経営/init.py"、ライン303、実行
ます。fetch_command(サブコマンド).run_from_argv(self.argv)
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/core/management/base.py"線195、run_from_argv
ます。execute(*args,**ます。)
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/core/management/base.py"線221、実行
ます。validate()
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/core/management/base.py"線249、検証
num_errors=get_validation_errors(s,app)
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/core/management/validation.py"、ライン、28get_validation_errors
(app_name、エラー)get_app_errors().項目():
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/db/models/loading.py"、131、get_app_errors
ます。_populate()
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/db/models/loading.py"、58、_populate
ます。load_app(app_name,True)
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/db/models/loading.py"、74、load_app
モデル=import_module('.モデル,app_name)
ファイル/home/app_name/webapps/app_name/lib/python2.5/django/utils/importlib.py"線35import_module
輸入(名)
ファイル/home/app_name/webapps/app_name/django_app/../django_app/forum/models.py"、18、
からのフォーラム管理者import*
ファイル/home/app_name/webapps/app_name/django_app/forum/managers.py"、6、
からのフォーラムモデルの輸入*
ファイル/home/app_name/webapps/app_name/django_app/../django_app/forum/models.py"、43、
クラスタグ(モデルです。モデル):
ファイル/home/app_name/webapps/app_name/django_app/../django_app/forum/models.py"、53、タグの
オブジェ=TagManager()
の定義がどこにも:名TagManager'で定義されていない

Python 2.5.4 (r254:67916, Aug  5 2009, 12:42:40)   
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import os  
>>> os.environ['DJANGO_SETTINGS_MODULE'] = 'django_app.settings'  
>>>   
>>> import sys  
>>> import pprint  
>>> pprint.pprint(sys.path)  
['',  
 '/home/app_name/webapps/app_name/lib/python2.5',  
 '/home/app_name/lib/python2.5/markdown2-1.0.1.16-py2.5.egg',  
 '/home/app_name/lib/python2.5/html5lib-0.11.1-py2.5.egg',  
 '/home/app_name/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']  
>>> sys.path = ['/home/app_name/webapps/app_name/django_app','/home/app_name/webapps/app_name','/home/app_name/webapps/app_name/lib/python2.5'] + sys.path  
>>> pprint.pprint(sys.path)['/home/app_name/webapps/app_name/django_app',  
 '/home/app_name/webapps/app_name',  
 '/home/app_name/webapps/app_name/lib/python2.5',  
 '',  
 '/home/app_name/webapps/app_name/lib/python2.5',  
 '/home/app_name/lib/python2.5/markdown2-1.0.1.16-py2.5.egg',  
 '/home/app_name/lib/python2.5/html5lib-0.11.1-py2.5.egg',  
 '/home/app_name/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 forum.managers import *  
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
  File "/home/app_name/webapps/app_name/django_app/forum/managers.py", line 6, in <module>  
    from forum.models import *  
  File "/home/app_name/webapps/app_name/django_app/../django_app/forum/models.py", line 43, in <module>  
    class Tag(models.Model):  
  File "/home/app_name/webapps/app_name/django_app/../django_app/forum/models.py", line 53, in Tag  
    objects = TagManager()  
NameError: name 'TagManager' is not defined  
>>> from forum.models import *  
>>> from forum.managers import *  
>>> objects = TagManager()  
>>> objects  
<forum.managers.TagManager object at 0x9b9fdac>  
>>>   
役に立ちましたか?

解決

また問題のい:

からのフォーラム経営者の輸入*(18行目models.py) からのフォーラムモデルの輸入*(行6managers.py)

そっか。み平坦化して(いの輸入手でコピー&ペーストへのファイルを保存し、新規ファイル)および長短を付けすぎないように注意の時間に実行"オブジェクト=TagManager()"でできるものではありません死刑を執行している後者のモジュールがTagManager、定めた場合を除き、以前に設定したライン18.

一般のヒント:

  1. 回避の輸入も可能でpythonプログラムが読み取れば他には何もない)
  2. だ円形といった輸入品というのは、休憩するという取り組みです。しばしば一つのモジュールを指でくるくるなぞってくださいに導入することによって、関数呼び出し、refactor一部の要素を第三るモジュールの両方をインポートすることができます。もできますの輸入に関するモジュールになることがあります。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top