python – 让Django 1.7在Google App Engine上工作

栏目: Python · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/26207326/getting-django-1-7-to-work-on-google-app-engine

任何人都可以帮助我们指出如何让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上部署?

You can use any pure Python third party libraries in your Google App Engine application. In order to use a third party library, simply include the files in your application’s directory, and they will be uploaded with your application when you deploy it to our system. You can import the files as you would any other Python files with your application.

我有这样使用Django 1.7的应用程序,一切正常.但是,由于App Engine的限制及其细节,有时您可能需要进行某些操作.但这取决于您的使用案例.

我还建议您为项目使用虚拟环境.通过pip直接安装App Engine不支持的每个库,然后在应用程序目录中创建指向给定库的符号链接.

这样,您可以将所有必需的包保存在可以存储在SCM系统(例如Git)中的文件(例如requirements.txt)以及源文件和其他团队成员中,可以非常轻松地复制您的工作环境.

如果您使用虚拟环境并通过pip安装所有需要的库(Django,…),这里是适合您的目录布局.

> virtual-env-root

> .Python

> bin

>包括

> lib

> app-engine-project-root

> app.yaml

> django-project-root

> django-app-root

> symlink-to-django – > LIB / python2.7 / site-packages中/ Django的

> symlink-to-another-lib – > LIB / python2.7 / site-packages中/ …

使用以下命令可以轻松部署这样的布局.

$appcfg.py update app-engine-project-root

或者使用App Engine开发服务器进行测试.

$dev_appserver.py app-engine-project-root

UPDATE

从App Engine Python SDK版本1.9.15开始,您可以使用 vendoring 机制来设置第三方库.您不必在应用程序目录中创建指向Python lib文件夹的符号链接.

直接在应用程序根目录中创建lib目录,并通过appengine_config.py文件告诉应用程序如何在此目录中查找库.

from google.appengine.ext import vendor

# Add any libraries installed in the "lib" folder.
vendor.add('lib')

新的目录布局如下.

> virtual-env-root

> .Python

> bin

>包括

> lib

> app-engine-project-root

> lib

> app.yaml

> appengine_config.py

> django-project-root

> django-app-root

使用带有-t lib标志的pip在此目录中安装库.

$pip install -t lib [lib-name]

要么

$pip install -t lib -r requirements.txt

翻译自:https://stackoverflow.com/questions/26207326/getting-django-1-7-to-work-on-google-app-engine


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

无界面交互

无界面交互

[美]Golden Krishna / 杨名 / 人民邮电出版社 / 2017-1 / 49.00元

“真希望在硅谷工作的人们已经读过这本书了。”——Doug LeMoine,Cooper总经理 “这本书的写作看似随意,字里行间却透着一种辛辣、幽默的反叛精神,这种精神可以帮助我们走出当今交互设计的界面泥潭。当你心情低落时,不妨翻开这本书,读上几页,你会开始微笑,大笑,并从中学到很多东西。书中的文字有一股振奋人心的力量。”——Don Norman,加州大学圣迭戈分校设计实验室主任,《设计心理学......一起来看看 《无界面交互》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具