Python 让Django 1.7在Google应用程序引擎上运行

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

有人能帮我们介绍一下如何让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.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版本:

  • django-0.96 django-1.2 django-1.3 django-1.4 django-1.5

  • 我的问题涉及如何在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实例:

  • 首先,确保您的开发人员帐户附带了计费方法
  • 去医院
  • 单击“项目”创建一个新项目,然后单击“创建项目”
  • 在创建项目时等待(您将在屏幕右下角看到一个进度窗口)
  • 项目创建完成后,控制台将自动切换到该项目的设置:
  • 您可以创建一个新实例,或者从第二列部署一个现成的模板。您可以看到,为其创建模板的是流行的堆栈和软件应用程序

  • 由于还没有django模板,您将首先创建一个实例

  • 计费是在每个项目的基础上进行控制的,所以如果您还没有启用计费,那么此时您将启用计费

  • 下一页是配置实例的地方。这些字段是不言自明的。如果希望打开HTTP和HTTPS端口,请设置您喜欢的机器类型(虚拟CPU和内存的数量)、希望机器位于的位置(物理位置),然后设置实例将从中启动的磁盘映像:

  • 一旦您配置了机器,它将联机并启动,然后您将可以通过SSH访问终端

    从现在开始,您应该像对待任何linux服务器一样对待这个实例。使用普通的打包工具安装使项目工作所需的任何东西;上传你的文件等等

    对于Amazon,这个过程要简单一些,因为有一个可用于一键式部署过程的。AMI是Amazon机器映像—您可以从中部署实例的模板

    对于Heroku,由于它是PaaS,您不必担心硬件组件;但是,与大多数PaaS平台一样,您没有对文件系统的写访问权限。因此,要管理静态资产,您必须做一些额外的工作。最简单的选择是在Amazon上创建一个S3存储桶,并将其与django存储一起使用。建议使用
    dj static
    直接从Heroku提供文件。这对于测试来说很好,但是如果您想开始上传文件,那么您需要正确地处理这些文件

    但是,一旦您将其分类,步骤就更简单了:

    先决条件:

    • 吉特
    • dj数据库url
      Python包
    • gunicorn
      Python包
    基本步骤:

  • 使用
    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创建--buildpackhttps://github.com/heroku/heroku-buildpack-python
  • 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