【问题标题】:How to deploy Django application in Google App Engine?如何在 Google App Engine 中部署 Django 应用程序?
【发布时间】:2015-04-15 08:11:32
【问题描述】:

我正在尝试在 GAE 中启动一个 Django 应用程序并在错误之后遇到错误。

我试过这个例子:https://github.com/GoogleCloudPlatform/appengine-django-skeleton,得到:

ImportError: No module named djangoappengine

我试过这个例子:https://code.google.com/p/google-app-engine-samples/downloads/detail?name=django_example_20080409.tar.gz,得到:

ImportError: No module named django.core.handlers.wsgi

我尝试启动一个 Django 项目并使其在 GAE 中运行,但出现许多不同的错误。

有一个简单的例子吗?我准备更新了,这里是当前版本:

Python 版本:2.7.5

Django 版本:1.6.5

GAE 版本:1.9.17

【问题讨论】:

    标签: python django google-app-engine


    【解决方案1】:

    djangoappengine 不是普通 Django 的一部分,也不是 GAE 使用的 Django 的一部分。你正在混合 djangos。要使用 djangoappengine,您需要使用为非关系、非 sql 数据存储设置的 Django 某个分支,例如主 GAE 数据存储。你会想要使用django non-rel,它附带一个定制版本的Django(1.6 测试版,但1.5.5 生产版本)在GAE 上运行良好。根据上述 Paul C 概述的方法,以下是您要安装的软件包:

    http://djangoappengine.readthedocs.org/en/latest/installation.html

    这样,您不必使用 cloud-sql 关系数据存储,而可以使用常规的 GAE 非关系数据存储,该数据存储使用 db 和 ndb 方法运行得非常优雅。

    【讨论】:

      【解决方案2】:

      您可以将 Django 与您的应用程序一起上传,以便可以导入,也可以使用提供的版本。尝试将其放在与您的 app.yaml 相同的目录中以上传它。

      将此添加到您的 app.yaml 以访问提供的版本:

      libraries:
      - name: django
        version: "1.5"
      

      您将能够在不上传 Django 的情况下导入它。如果您想要一个未提供的特定版本,则必须将其包含在您的应用程序中。

      根据此链接,您还可以阅读有关如何在应用程序中包含导入的信息,Django GAE 提供的最新版本是 1.5 https://cloud.google.com/appengine/docs/python/tools/libraries27

      因此,如果您想要 1.6.5,则必须将其与您的应用程序一起上传。你可以在这里阅读:How to include third party Python libraries in Google App Engine?

      有关 Django 在 GAE 上的具体说明,请参阅此页面:https://cloud.google.com/appengine/docs/python/cloud-sql/django

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-06
        • 2019-08-11
        • 2020-04-04
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        • 2020-03-04
        • 2019-05-18
        相关资源
        最近更新 更多