2011-07-23 36 views
6

我使用Python爲我的數據庫創建了一組模型。現在我想快速加載一些數據 - 手動。如果這是一個.NET應用程序,我會使用Visual Studio附帶的一個漂亮的控件快速連接到數據庫並將網格綁定到它。然後去鎮上添加數據。使用Python爲Google App Engine生成CRUD網頁的最快方法是什麼?

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

在ASP.NET MVC,他們有這個新的「腳手架」的東西(實體框架的一部分),將爲您生成CRUD頁面。在GAE中有沒有類似的模型對象?

P.S.使用方便的dandy命令行選項--use_sqlite和--datastore_path,我可以在開發環境中快速備份我的數據庫。

回答

3

如果您使用的是GAE Django的,那麼你可以使用Django Administration site

那麼,什麼是Django的這些無聊,重複的任務的方法?它確實爲你提供了 - 只需幾行代碼即可完成。與Django ,建立一個管理界面是一個解決的問題。

它自動構建基於CRUD的HTML表單來管理模型。

0

我仍然是一個Python和GAE新手的東西,但我一直在使用它了很多,在過去幾個月裏,所以你可能會發現,這個工程:

您可以使用Model.properties()得到問題模型的屬性列表並將其保存到列表中。然後,您可以將列表添加到上下文字典中,以便在您的模板中使用。在您的模板中迭代循環以生成具有與每個屬性匹配的名稱的輸入字段的基本列表。

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

然後你就可以回發到同一頁,在這裏你可以使用Request.arguments()配對的對象屬性到模型保存到數據存儲。

據我所知,沒有比這更優雅的解決方案,至少不能與您談論的ASP.NET MVC腳手架相提並論。

(免責聲明:我沒有真正嘗試過這種所以很可能有一個需要排序的問題或兩個)

1

看看appengine admin項目。

的AppEngine聯繫是簡單的Python包,您可以用於創建 自動管理界面爲你的谷歌AppEngine應用程式。

下面是截圖:

enter image description here

here是快速入門教程。

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

後已經定義了合適的路由到管理與:

創建的模型,只需添加這行代碼後

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

你可以訪問到定製的管理員說提供以下功能:

  • 每個註冊型號的清單記錄
  • 創造新的紀錄
  • 更新/編輯記錄
  • 刪除記錄
0

在App Engine上使用Django麻煩的是你不能使用GAE數據存儲和NDB模型(所以Django管理不可用),或者你必須開始使用Django的黑客版本:http://django-nonrel.org/

對於大多數應用程序來說,你最好使用Cloud SQL,這基本上是MySQL,所以Django沒有問題。

如果您需要使用GAE數據存儲試試這個框架,它提供了一個CRUD管理:
http://ferris-framework.appspot.com/docs/index.html

相關問題