Python 让Django 1.7在Google应用程序引擎上运行
有人能帮我们介绍一下如何让Django>1.5在Google App Engine上运行吗?我看到很多人声称他们的Django 1.6正在工作。我们希望运行1.6或1.7。我在这里搜索了有关如何设置的说明。到目前为止运气不好 更新: 在我们的开发机器中安装了Django 1.7(包括/user/local和virtualenv)。但是,如果我们将GAE yaml修改为使用Django 1.7,则会收到以下错误消息:Python 让Django 1.7在Google应用程序引擎上运行,python,django,google-app-engine,google-cloud-sql,Python,Django,Google App Engine,Google Cloud Sql,有人能帮我们介绍一下如何让Django>1.5在Google App Engine上运行吗?我看到很多人声称他们的Django 1.6正在工作。我们希望运行1.6或1.7。我在这里搜索了有关如何设置的说明。到目前为止运气不好 更新: 在我们的开发机器中安装了Django 1.7(包括/user/local和virtualenv)。但是,如果我们将GAE yaml修改为使用Django 1.7,则会收到以下错误消息: google.appengine.api.yaml_errors.EventEr
google.appengine.api.yaml_errors.EventError: django version "1.7" is not supported, use one of: "1.2", "1.3", "1.4", "1.5" or "latest" ("latest" recommended for development only) in "./app.yaml",
安装在/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib目录中的1.9.12版GoogleAppEngine sdk显示了以下Django版本:
我的问题涉及如何在Google App Engine上正确设置Django 1.7的开发环境,以及如何确保在生产中部署到Google App Engine时成功地使用Django 1.7部署我们的应用。当我们部署应用程序时,如何让Django 1.7部署到GAE上?你不能-GAE只支持1.5,甚至它也被标记为实验性的。如果你需要django 1.7,也许你应该使用它,这是谷歌的虚拟机品牌,你可以使用它 如果你没有嫁给谷歌应用程序引擎,Heroku支持django 1.7没有问题
关于如何将Django 1.7项目迁移到其他应用程序,您是否有具体的指南 谷歌计算引擎?有一堆谷歌的东西没有任何 关于如何使其工作的指南 以下是步骤,但它们与您在任何其他服务器上部署的步骤相同,因为GCE只提供一个linux实例:
dj static
直接从Heroku提供文件。这对于测试来说很好,但是如果您想开始上传文件,那么您需要正确地处理这些文件
但是,一旦您将其分类,步骤就更简单了:
先决条件:
- 吉特
Python包dj数据库url
Python包gunicorn
gitinit
在源代码目录中创建git存储库(如果您还没有这样做)requirements.txt
<如果您使用的是虚拟环境,则code>pip freeze>requirements.txt应该这样做。否则,您可以创建一个文本文件并列出所需的包设置.py
:import dj\u database\u url
数据库['default']=dj_database_url.config()
程序文件
(大小写很重要)。这就是如何告诉Heroku应用程序需要什么样的dyno(进程)。对于django,您需要一个web动态文件,因此在该文件中,以下行应该执行:web:gunicornyourproject.wsgi——日志文件-
heroku插件:添加heroku postgresql:dev
git推送heroku主机
heroku运行pythonyourproject/manage.py迁移--noinput
heroku运行pythonweb/manage.py collectstatic
您只需执行前两个步骤一次,然后每当您需要更新应用程序时,只需推送heroku master即可在heroku上创建新版本。App Engine的Python环境目前知道如何通过
库:
配置机制提供Django版本1.5之前的版本。这并不意味着Django的更高版本不起作用,只是它们还没有内置。(我不知道为什么最新的
$ appcfg.py update app-engine-project-root
$ dev_appserver.py app-engine-project-root
from google.appengine.ext import vendor
# Add any libraries installed in the "lib" folder.
vendor.add('lib')
$ pip install -t lib [lib-name]
$ pip install -t lib -r requirements.txt