如何从Django中的子目录导入包

时间:2012-09-18 05:10:26

标签: python django

我知道有很多类似的问题和答案,但我真的不能这样做。 我将views.pymodels.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

有人能指出我做错了吗?

1 个答案:

答案 0 :(得分:0)

我弄明白了这个问题。这是我的愚蠢错误。实际上目录结构是这样的:

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

这就是我将表单,视图和模型文件命名为与应用程序名称相同的名称(例如,应用程序名称为“contacts”,模型文件为“contacts.py”)。这让我想到了有问题的错误。

因此,不要将内部文件命名为与应用程序相同的名称。尽量避免使用相同的名称;)

非常感谢所有试图提供帮助的人。