簡體   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