1

我有一个 Django 项目,版本 1.8.7

我正在尝试运行 manage.py。

manage.py 脚本产生错误:

ImportError: No module named project_name.settings

我的目录结构是这样的:

project_name:
     - __init__.py
     - other_stuff
     - ...
     - settings.py
     - manage.py

在 manage.py 我有这样一行代码:

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

如果我更改project_name.settingssettings. 我不再收到此错误(我收到另一个错误,也是一个导入错误,但除此之外)

在其他机器上,该代码适用于project_name.settings.

我想这是一个路径问题。如何,或者更好地说,我在哪里可以解决这个路径问题?具体来说,我如何告诉 Django project_name.settings 实际上是 current_directory.settings?

谢谢!

回答:

所以,我发现的解决方法是在 python 的 dist-packages 中创建一个符号链接。我有一个符号链接,我们称之为 s,它指向包含我的项目的目录。符号链接 s 指向 parent_dir。

- parent_dir
     - dir_1
     - ...
     - project_name
           - __init__.py
           ...
     - ...

我还添加了一个 pth 文件 s.pth,其中仅包含符号链接的名称 s。

现在,它起作用了。

4

0 回答 0