我在運行GAE中最簡單的django項目時遇到了問題。Google App Engine中託管的django項目的settings.py位置
運行django-admin startproject myproj
(從谷歌SDK使用Django 1.4)後,文件夾層次結構看起來像:
+ myproj (root folder of project) - manage.py + myproj (a sub folder for the project files) - __init__.py - settings.py - urls.py - wsgi.py
我那麼平常的app.yaml 添加到根文件夾 - 那就是同一個文件夾manage.py在哪裏。
application: u-pavarotti
version: 1
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: django
version: "1.4"
builtins:
- django_wsgi: on
syncdb,dbshell,shell ...很好用。即使manage.py runserver
作品文件。但是,嘗試運行dev_appserver
失敗。我得到的例外是:
ImportError: Could not import settings 'settings'
。
好,考慮看看谷歌/ AppEngine上/轉/ Django的/主(其中django_wsgi
基本上設置一個URL處理程序。*的google.appengine.ext.django.main.app)是看來,它期待在python路徑中查找設置。但沒有做任何事情,導入的模塊是myproj.settings
(因爲myproj不在路徑中)。
現在,將.../myproj/myproj(較低文件夾)添加到PYTHONPATH可以解決開發計算機上的所有問題,但由於我無法控制GAE部署中的搜索路徑,因此此解決方案無法工作。
我可以移動所有文件,或只是settings.py到上層myproj,或移動app.yaml(有點相同的東西),但它需要各種更改形式的默認genereated settings.py - 我不'這是要走的路。或者,我可以編寫我自己的處理程序,它將實例化django.core.handlers.wsge.WSGIHandler(舊的教程用於這樣做) - 再次,似乎與至少應用程序的「內置」屬性的創建者的意圖。 YAML。
我想知道其他人是如何解決這個問題的,什麼是正確的做法。
很不錯。謝謝。 – Uri 2013-04-08 13:08:23
感謝您節省我的時間! – 2014-05-25 15:21:18