【发布时间】:2018-02-05 20:12:29
【问题描述】:
我有一个可以在 Heroku 上运行的 Django 应用程序。该结构是名为“untitled”的项目和一个名为“web”的应用程序,因此结构是:
project_root
静态
模板
无标题
--->初始化.py
--->settings.py
--->urls.py
--->wsgi.py
网络
--->初始化.py
--->admin.py
--->apps.py
--->models.py
--->tests.py
--->urls.py
--->views.py
这是一个相当基本的应用程序,我可以在 GAE 之外(本地和 Heroku)工作,但是,我遇到了 GAE 的 app.yaml 和 main.py 要求。
我的 app.yaml 是:
application: seismic-interpretation-institute-py27
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: main.app
libraries:
- name: django
version: "latest"
我的 main.py(从 PyCharm 生成)是
import os,sys
import django.core.handlers.wsgi
import django.core.signals
import django.db
import django.dispatch.dispatcher
# Google App Engine imports.
from google.appengine.ext.webapp import util
# Force Django to reload its settings.
from django.conf import settings
settings._target = None
os.environ['DJANGO_SETTINGS_MODULE'] = 'untitled.settings'
# Unregister the rollback event handler.
django.dispatch.dispatcher.disconnect(
django.db._rollback_on_exception,
django.core.signals.got_request_exception)
def main():
# Create a Django application for WSGI.
application = django.core.handlers.wsgi.WSGIHandler()
# Run the WSGI CGI handler with that application.
util.run_wsgi_app(application)
if __name__ == '__main__':
main()
最后在本地运行时报出的输出是
似乎是错误,
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
导致我的问题。我不确定如何解决它。
【问题讨论】:
-
对于任何感兴趣的人,我使用 Bear Brown 的评论来意识到我编辑了默认的 PyCharm main.py 文件。我似乎已将
import os,sys和os.environ['DJANGO_SETTINGS_MODULE'] = 'untitled.settings移动到上面列出的main.py 文件的前两行。这清除了错误。
标签: django google-app-engine pycharm