繁体   English   中英

使用Python为Google App Engine生成CRUD网页的最快方法是什么?

[英]What is the fastest way to generate CRUD webpages for Google App Engine using Python?

我使用Python为我的数据库创建了一组模型。 现在我想用一些数据快速加载它们 - 手动。 如果这是一个.NET应用程序,我会使用Visual Studio附带的一个漂亮的控件来快速连接到数据库并将网格绑定到它。 然后去城镇添加数据。

使用Google App Engine在Python中执行此操作的匹配方式是什么?

在ASP.NET MVC中,他们有这个新的“脚手架”东西(实体框架的一部分),它将为您生成CRUD页面。 在GAE中给出了一堆模型对象有什么类似的吗?

PS使用方便的dandy命令行选项--use_sqlite和--datastore_path,一旦我这样做,我就可以在我的开发环境中快速备份我的数据库。

如果您在GAE上使用Django,那么您可以使用Django管理站点

那么Django对这些无聊,重复性任务的处理方法是什么? 它为您完成所有这些 - 只需几行代码即可。 使用Django,构建管理界面是一个已解决的问题。

它自动构建基于CRUD的HTML表单来管理模型。

看看appengine管理项目。

Appengine Admin是一个简单的python包,可用于为您的Google Appengine应用程序创建自动管理界面。

这是一个截图:

在此输入图像描述

是快速入门教程。

创建模型后,只需添加以下代码行:

# Register to admin site
appengine_admin.register(..your list of class Models definition)

并且在为管理员定义了正确的路由之后:

(r'^(/admin)(.*)$', appengine_admin.Admin)

您可以访问提供以下功能的自定义管理员:

  • 列出每个注册模型的记录
  • 创建新记录
  • 更新/编辑记录
  • 删除记录

我仍然是一个python和GAE新手,但我在过去的几个月里一直在使用它,所以你可能会发现这有效:

您可以使用Model.properties()获取相关模型的属性列表,并将其保存到列表中。 然后,您可以将列表添加到上下文字典中,以便在模板中使用。 在模板中迭代循环以生成输入字段的基本列表,其名称与每个属性匹配。

{% for tItem in list %}
    <input type="text" name="{{ tItem }}" />
{% endfor %}

然后,您可以回发到同一页面,您可以使用Request.arguments()将对象属性与模型配对以保存到数据存储区。

据我所知,没有比这更优雅的解决方案,至少不能与你所谈论的ASP.NET MVC脚手架相比。

(免责声明:我实际上没有试过这个,所以可能有一两个问题需要排序)

Django在App Engine上的问题是你无法使用GAE数据存储区和ndb模型(因此Django管理员不可用),或者你必须开始使用被黑客攻击的Django版本: http//django-nonrel.org /

很可能对于大多数应用程序而言,最好还是使用Cloud SQL,这基本上是MySQL,所以Django没有问题。

如果您需要使用GAE数据存储区,请尝试使用此框架,该框架提供CRUD管理员:
http://ferris-framework.appspot.com/docs/index.html

您可以查看与Google App引擎和数据存储紧密集成的Ferris Framework

Ferris Framework还具有用于轻松创建CRUD操作的脚手架组件。 http://ferris-framework.appspot.com/docs/users_guide/scaffolding.html?highlight=scaffolding

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM