我有一个工作的Django应用程序,我能在Heroku上运行。结构是项目命名为 '无',并命名为 '网络' 的应用使得该结构是:设置Django应用程序工作谷歌应用程序引擎GAE(app.yaml&main.py)
project_root
静态
模板
无
--->初始化的.py
- - > settings.py
---> urls.py
---> wsgi.py
网络
--->初始化的.py
---> admin.py
---> apps.py
---> models.py
---> tests.py
---> urls.py
---> views.py
这是一个相当基本的应用程序,我可以在GAE(本地和Heroku)之外工作,但是,我被困在app.yaml和main.py对GAE的要求。
我的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.
正在导致我的问题。我不完全确定如何解决它。
任何有兴趣,我用熊布朗的评论意识到我编辑的默认PyCharm main.py文件。我似乎已经将'import os,sys'和'os.environ ['DJANGO_SETTINGS_MODULE'] ='untitled.settings'移动到上面列出的main.py文件的前两行。这清除了错误。 – Dustin