7

我的应用程序昨晚工作,不知道为什么今天早上它不能工作。我认为我所做的只是创建一个应用程序django来存储我的模型、测试和视图。

出现此错误,在 OS X 上使用 Heroku Postgres 应用程序运行 django,并将 dj_database 作为中间件:

  File "/Users/{ME}/Projects/{PROJECT}/{PROJECT}/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 58, in get_internal_wsgi_application
    "could not import module '%s': %s" % (app_path, module_name, e)) django.core.exceptions.ImproperlyConfigured: WSGI application
'{PROJECT}.wsgi.application' could not be loaded; could not import module
'{PROJECT}.wsgi': No module named core.wsgi

wsgi.py我的文件的相关部分:

"""
WSGI config for {PROJECT} project.

This module contains the WSGI application used by Django's development
server and any production WSGI deployments. It should expose a
module-level variable named ``application``. Django's ``runserver``
and ``runfcgi`` commands discover this application via the
``WSGI_APPLICATION`` setting.

Usually you will have the standard Django WSGI application here, but
it also might make sense to replace the whole Django WSGI application
with a custom one that later delegates to the Django one. For example,
you could introduce WSGI middleware here, or combine a Django
application with an application of another framework.

"""
import os

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

# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

# Apply WSGI middleware here.
# from helloworld.wsgi import HelloWorldApplication
# application = HelloWorldApplication(application)

settings.py我文件的相关(我认为)部分:

WSGI_APPLICATION = '{PROJECT}.wsgi.application'

# ...

import dj_database_url
DATABASES['default'] = dj_database_url.config(default='sqlite://db/sqlite3.db')
4

2 回答 2

7

创建一个名为的应用程序django意味着任何from django import X人都将查看您的应用程序,而不是django框架。

在这种情况下,该软件正在尝试导入django.core.wsgi,但它现在正在您的应用程序代码中查找此文件,但找不到该文件;因此错误:No module named core.wsgi


给你的应用取另一个名字。

您必须重命名包含您的应用程序的文件夹,INSTALLED_APPS以及settings.py.

于 2013-02-10T19:40:18.667 回答
0

来自 Django文档

您需要避免在内置 Python 或 Django 组件之后命名项目。特别是,这意味着您应该避免使用像django(这将与 Django 本身冲突)或test(与内置 Python 包冲突)之类的名称。

于 2015-10-26T19:41:09.777 回答