0

同様の質問と回答がたくさんあることは知っていますが、実際にはそれができません。を、対応するフォルダviews.py内のいくつかのファイルに分割しましたmodels.pyforms.pyしたがって、フォルダ構造は次のようになります。

myapp
  \__init__.py
  \admin.py
  \forms
     \__init__.py
     \my_forms.py
  \views
     \__init__.py
     \my_views.py
  \models
     \__init__.py
     \my_models.py

__init__.py私が追加した対応するファイルで:

   from my_file import *

ここで、、およびにmy_file対応します。my_formsmy_viewsmy_models

そして今、私はフォームをインポートしようとしていますmy_views.py

   from myapp.forms import MyForm

その結果、次のエラーが発生します。

   No module named forms

誰かが私が間違っていることを指摘してもらえますか?

4

1 に答える 1

0

私は問題を理解しました。それは私の愚かな間違いでした。実際、ディレクトリ構造は次のようなものでした。

myapp
 |--__init__.py
 |--admin.py
 |--forms
     |--__init__.py
     |--myapp.py
 |--views
     |--__init__.py
     |--myapp.py
 |--models
     |--__init__.py
     |--myapp.py

つまり、フォーム、ビュー、およびモデルファイルにアプリケーション名と同じ名前を付けました(たとえば、アプリケーション名は「contacts」で、モデルファイルは「contacts.py」でした)。それは私を問題のエラーに導きました。

したがって、内部ファイルにアプリケーションと同じ名前を付けないでください。同じ名前は絶対に避けてください;)

助けてくれたすべての人に感謝します。

于 2013-02-08T07:47:40.997 に答える