[英]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.