django与google应用引擎的集成

djangae的Python项目详细描述


姜凯

Join the chat at https://gitter.im/potatolondon/djangaebuild-status-image

在google app engine上运行django的最佳方法。

djangae(djan gee)是一个django应用程序,允许您在google app engine上运行django应用程序,包括(如果您 想要)使用django的模型和app engine数据存储作为底层数据库。

:地球非洲 :章鱼:GitHub :闭式书本:Docs :Speech_u气球:Gitter :半身像轮廓:{a7}

注:djangae正在大力开发中,稳定性得不到保证。请参阅1.0 release changes issue以了解djangae 1.0版本的进度。

功能

  • 一个wsgi中间件,它提供了一种干净的方式,通过这种方式可以将django应用程序插入到应用程序引擎中。
  • 允许app engine的延迟任务和mapreduce处理程序在同一环境中运行的钩子。
  • 能够将数据存储用作django模型的数据库。有关详细信息,请参见数据库后端。 你也可以使用app engine的ndb,或者你可以使用google cloud sql(通过标准的django mysql后端)而不是 或者沿着数据存储区。或者全部使用3个!
  • djangae.contrib.gauth它提供用户模型(具体的和可扩展的抽象版本)、身份验证后端和中间件;它允许您使用app引擎内置的google帐户身份验证对用户进行身份验证,还允许您在数据存储上使用django的权限系统(即,不被多对多捕获关系)。
  • 一个runserver命令,它启动应用程序引擎sdk为您的应用程序提供服务(同时仍在使用django的代码重载)。
  • 能够在本地或远程应用程序引擎数据存储上运行管理命令。
  • 正确设置环境/数据库的shell命令。(注意,我们应该支持任何 自定义命令,请参见todo.md)。

文档

https://djangae.readthedocs.io/

支持的django版本

其目的始终是支持当前支持的django版本,尽管旧版本可以工作。目前 支持django 1.8、1.9、1.10和1.11。

安装

https://djangae.readthedocs.io/en/latest/installation/

对djangae的贡献

djangae是积极开发和维护的,所以如果您想为代码库做贡献,这里是如何开始的。

开始开发

  1. 首先,前往our Github page并分叉存储库以拥有自己的副本。
  2. 在本地克隆它以开始设置开发环境
  3. 运行所有测试以确保本地版本正常工作:./runtests.sh。这也将安装所有必要的依赖项。

选择问题并发送拉取请求

如果你发现了一个你想修复的缺陷,最好从 由adding an issue关闭。 这将使我们能够验证你的问题是有效的,并提出解决的办法。 你不会浪费时间的。

有关创建拉取请求的帮助,请查看Github documentation

代码样式

代码样式应遵循PEP-8,松散的行长度为100个字符。

需要帮助吗?

djangae-users邮件列表上联系我们。

拉取请求要求

要合并拉取请求,应满足以下要求:

  • 添加或更新包含新代码或更改代码的测试
  • 应更新或添加相关文档
  • 行项目应添加到changelog.md中,除非更改确实不相关

运行测试

运行测试时,只需运行:

$ ./runtests.sh

在第一次运行时,这将下载app engine sdk,pip在本地安装一堆东西(到一个文件夹中,不需要virtualenv),下载django测试并运行它们。后续运行将只运行测试。如果要在特定的django版本上运行测试,可以执行以下操作来切换已安装的版本:

^{公关二}$

目前的默认值是1.8。Travisci目前运行于1.8、1.9、1.10和1.11。

如果要在特定的应用程序引擎sdk版本上运行测试,则可以通过执行以下操作来切换已安装的版本:

$ SDK_VERSION=1.9.35 ./runtests.sh --install_sdk

注意,这也会重新安装依赖项,因此将django版本重置为默认的1.8。

您可以按常规方式运行特定的测试,方法是:

./runtests.sh some_app.SomeTestCase.some_test_method

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何向xsi:nil元素添加另一个属性?   Java抽象泛型方法,使用具体类型实现通配符   java使用pcap4j截断pcap文件   当我放置字母a、b和c时,java中的异常预期会下降   java设置活动对话框不可取消   接口类型变量上的Java克隆   使用Java或BouncyCastle对CSR(证书签名请求)进行安全解码/读取   java调用SavingsAccount对象上的函数并打印结果   java如何在Android应用程序上显示地图上的兴趣点(POI)并与之交互?   如果在JavaFX中的ResultSet中未找到任何内容,则显示java警报   java我将springboot和@component与@scheduled一起使用,它每12小时锁定一次   ApachePOI如何使用java删除包含字符串的word表的行   java如果对象(x,y)靠近其他对象(x,y)   从未对JMSException调用java JMS CachingConnectionFactory OneException方法   javascript使用java将HTML页面转换为MS word