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