【问题标题】:django: wsgi import setting error modeule named mysite.settings not founddjango: wsgi 导入设置错误模块名为 mysite.settings 未找到
【发布时间】:2011-06-12 22:43:00
【问题描述】:

你好 我在这个错误上花了 2 天时间。想不通。

an 21 00:19:50 2011] [error] [client 127.0.0.1] ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named settings

django.wsgi 位于 /user/local/django/apache

import os, sys
sys.path.append('/usr/local/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

我的django项目名为mysite:位于/user/local/django/mysite/scr/(这里包含settings.py init.py等...)

apache 配置

Alias /media/ /usr/local/django/media
<Directory /usr/local/django/media>
Order deny,allow
Allow from all
</Directory>

<Directory /usr/local/django/apache/>
Order deny,allow
Allow from all
</Directory>



WSGIScriptAlias / /usr/local/django/apache/django.wsgi

我已使用权限 777 更改了上面的 mysite 文件夹以避免任何权限问题。 我每次都重启httpd服务。

apache 启动并找到 django.wsig。但它找不到其中指定的设置文件。

然后我手动将路径添加到 $PATH 并回显它。它在那里。我重新启动httpd。然后我添加的路径就消失了......

有人知道怎么回事吗?

谢谢

【问题讨论】:

    标签: django wsgi


    【解决方案1】:

    最初的答案是我错误地认为您的sys.path 不正确。

    新理论是您说您的 settings.py 位于 .../django/mysite/scr/ 中,因此指定 mysite.settings 将无效。

    从技术上讲,假设mysite 有一个__init__.py 文件,那么设置文件的路径是mysite.scr.settings

    【讨论】:

    • 我试过 命令拒绝,允许所有 允许,但它没有起到神奇的作用
    • @Nissan911 -- 不在你的 apache conf 中,在你的 sys.path 中。 mysite.settings not found 意味着 python 找不到 mysite
    • 我手动添加路径 sys.path.append。在蟒蛇。我打印 sys.path 以验证它是否存在。然后我重新启动httpd。然后它显示相同的错误。然后我回到 python 并打印 sys.path。我添加的路径不见了。
    • @Nissan911,哎呀,对不起。看起来它找不到设置,而不是 mysite。掌心。无论如何,在这种情况下,下一个罪魁祸首是你说你的设置文件在mysite/scr/settings
    【解决方案2】:

    如果 settings.py 在 /usr/local/django/mysite/scr/ 中,那么很明显你应该使用:

    os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.scr.settings'
    

    【讨论】:

      【解决方案3】:

      您可以尝试几件事。

      测试服务器“runserver”是否工作?如果不工作,可能是您的设置文件或它加载的其他文件之一有错误

      “安装应用程序”的顺序可能很重要。对于我的一个项目,当我更改已安装应用程序的顺序时,此错误消失了。

      我刚才问的这个问题的答案可能会有所帮助。 How do I stop getting ImportError: Could not import settings 'mofin.settings' when using django with wsgi?

      【讨论】:

        猜你喜欢
        • 2015-03-23
        • 1970-01-01
        • 1970-01-01
        • 2014-06-04
        • 1970-01-01
        • 2019-03-25
        • 2012-02-28
        • 1970-01-01
        • 2021-09-11
        相关资源
        最近更新 更多