ImportError:没有名为 app_name 的模块

Posted

技术标签:

【中文标题】ImportError:没有名为 app_name 的模块【英文标题】:ImportError: No module named app_name 【发布时间】:2014-01-18 22:10:33 【问题描述】:

我是 python 新手,我在 SO 上看到过类似的问题,但无法弄清楚我的 Django 应用程序出了什么问题。 在 settings.py 中,我以虚线模块形式添加了我的应用程序:

INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'mproject.blog',
)

和追溯:

D:\py pro\mproject>python manage.py runserver 9999
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
  execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 280, in execute
    translation.activate('en-us')
  File "C:\Python27\lib\site-packages\django\utils\translation\__init__.py", line 130, in activate
    return _trans.activate(language)
  File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", line 188, in activate
    _active.value = translation(language)
  File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", line 177, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", line 159, in _fetch
    app = import_module(appname)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 40, in import_module
    __import__(name)
ImportError: No module named blog

manage.py我有

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mproject.settings")

如何解决这个问题?

【问题讨论】:

【参考方案1】:

我认为您不需要使用myproject.blog

只需将blog 添加到已安装的应用程序中即可。够了。

【讨论】:

@vertexion: djanog 默认在站点目录(你有 manage.py 文件的地方)查找已安装的应用程序。现在,由于您声明为 myproject.blog,它会搜索名为blog,在myproject目录下,显然是不存在的。如果对您有帮助,请接受我的回答..

以上是关于ImportError:没有名为 app_name 的模块的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:没有名为瓶子的模块

ImportError:没有名为枚举的模块

ImportError:没有名为“appdirs”的模块

ImportError:没有名为 websocket 的模块

ImportError:没有名为“backports”的模块

ImportError:没有名为 ghostscript 的模块