Придумал следующее решение:
Получить Джанго 1.1 и поместить его под корень проекта.
Добавить пустой файл "non_gae_indicator" в корневую папку проекта.
Добавить Джанго и non_gae_indicator к вашему app.yaml skip_files элементу:
skip_files:
- ^(.*/)?app\.yaml
- ^(.*/)?app\.yml
- ^(.*/)?index\.yaml
- ^(.*/)?index\.yml
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(.*/)?.*\.bak$
- ^django
- ^non_gae_indicator
Теперь у нас есть способ, чтобы сказать, являемся ли мы работаем под GAE-либо жить SDK - так non_gae_indicator не будет доступны, когда мы жить.
Так main.py вы можете сделать:
if not os.path.exists(os.path.abspath(os.path.dirname(__file__)) + '/non_gae_indicator'):
# GAE
from google.appengine.dist import use_library
use_library('django', '1.1')
else:
# Not GAE - Add our django package to the path
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)) + '/django')
Вы должны запустить локальный сервер SDK с --allow_skipped_files флагом (или же пропущенные файлы будут отображаться не будут существовать при проверке их - серверная консоль дает предупреждение об этом).