【问题标题】:ImportError at / No module named 'wsgi' in djangoImportError at / No module named 'wsgi' in django
【发布时间】:2016-02-03 19:53:40
【问题描述】:

好吧,正如标题所说,我在尝试从另一个应用程序导入类时经常遇到上述错误。

我的文件结构是这样的(顺便说一句,我在 openshift 上):

- openshiftappname
    - .openshift
    - data
    - libs
    - wsgi
        - myproject
            - myproject
            - app1
                models.py (file with class to import)
            - app2
                forms.py (file with import)
            manage.py
        - static
        __init__.py
        application
    setup.py

我的导入如下所示:

from wsgi.myproject.app1.models import PrivateClient

我也试过了:

from ..app1.models import PrivateClient
from ..app1 import PrivateClient

但是这两个语句都给了我错误: “值错误在 / 尝试相对导入超出顶级包”

wsgi/myproject/myproject/wsgi.py 的内容:

import os

from django.core.wsgi import get_wsgi_application

# GETTING-STARTED: change 'myproject' to your project name:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")

application = get_wsgi_application()

请注意,这两个应用都添加到设置文件中的 installed_apps 中

我该怎么办?我不知道为什么会收到此错误,并且经过大量搜索后无法在网络上找到解决方案。提前致谢!

【问题讨论】:

  • 我不确定wsgi 文件夹的用途。为什么不直接从myproject.app1... 导入?无论如何,假设这是在生产中,您可以发布您的 wsgi.py 文件吗?
  • 确保你知道 python 认为你当前的工作目录是什么,然后从那里创建你的导入路径。
  • 假设您的意思是 myproject 文件夹中 wsgi.py 的内容,我将发布它的内容 :) 当我尝试从 myproject 导入时......我只是得到一个未解决的参考错误.. .
  • 我认为@DanielRoseman 的意思是导入为from app1.models import PrivateClient

标签: python django openshift


【解决方案1】:

只需使用 cmets 中提到的 @ahmed-hosny 即可:
from app1.models import PrivateClient
请始终回复 cmets,回答您的问题(如果没有其他人回答)并将其标记为已回答。谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 2016-12-23
    • 2016-12-19
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2015-06-08
    相关资源
    最近更新 更多