代码之家  ›  专栏  ›  技术社区  ›  Lexo

django dev server(manage.py runserver)从何处获取路径?

  •  0
  • Lexo  · 技术社区  · 16 年前

    我最近把一个django应用程序从 c:\Users\user\django-projects\foo\foobar 到 c:\Python25\Lib\site-packages\foo\foobar (在python路径上)。我在 django-projects 目录,并添加 foo.foobar 到 INSTALLED_APPS 设置。当我尝试运行dev服务器时( manage.py runserver )对于我的新应用程序,我得到错误信息 ImportError: No module named foobar .

    通过回溯,它在 c:\Users\user\django-projects\foo\..\foo\foobar 对于 foobar 应用程序。我检查了一下 PATH 和 PYTHONPATH 环境变量,都不指向 c:\Users\user\django-projects\foo 它不会出现在 sys.path 当我运行python解释器时。

    我猜我是怎么加的 C:\users\user\django项目\foo 在发展的过程中 foo 但我不记得我是怎么做到的。

    所以,有了所有的线索,我的问题是“我该如何让manage.py看起来 c:\Python25\Lib\site-packages 而不是 C:\users\user\django项目\foo “

    谢谢,

    • 莱克索
    2 回复  |  直到 11 年前
        1
  •  1
  •   laurent    16 年前

    manage.py 从当前目录导入settings.py并传递 settings 作为参数 execute_manager . 您可能在settings.py中定义了项目根。

        2
  •  1
  •   Lexo    11 年前

    虽然我不知道哪种解决方案有效,但我已经解决了。首先,我删除了 .pyc 我的项目中的文件,然后我重新索引了我的Windows搜索(我猜是这样做的)。这将错误消息更改为正确的目录。之后,我意识到

    from baz import settings
    

    在我的 foobar/baz/models.py 文件,这一直是导致问题的原因。我把这个改成了

    import settings
    

    解决了这个问题。感谢劳伦特的帮助:—)

    推荐文章