2013-02-08 25 views
-1

TastyPie似乎嚴重依賴於Django,我想開發一個使用REST的Python應用程序。我知道Django是開發網站的API,但是有沒有辦法將Django和TastyPie一起用作完全基於控制檯的應用程序?Django控制檯應用程序

回答

1

你似乎混在一起了。 Django是一個實現了MVC模型的框架,即模型,視圖和控制器(它們略微修改了這個術語,但這是一個細節)。它允許您使用模型使用ORM與數據庫進行交互,使用HTML(視圖,在Django中稱爲模板)顯示輸出數據,並定義將模型粘貼到視圖(控制器,稱爲Django中的視圖)的邏輯。

使用REST,您可以使用HTTP協議中已定義的關鍵字來操作資源(主要是數據庫數據)。Tastypie是一個Django包,允許您在Django項目中輕鬆開發REST接口。

Django允許definition of commands從可以用Tastypie插入的控制檯調用。這回答你的問題,但我懷疑這是你需要的。

如果您不需要Web集成(僅限於控制檯應用程序),那麼您對Django的模板部分以及HTTP請求處理和路由沒有太多的使用。我建議你使用另一種類似SQLAlchemy的ORM。如果你需要的話,你可以使用諸如ncurse之類的庫來創建一個控制檯界面。試着首先了解你的需求:你想達到什麼目的?回答完這個問題後,你應該問自己:我需要一個ORM(數據庫集成)和模板(輸出如HTML)嗎?如果不是,那麼重新考慮使用Django來處理您的項目,並權衡它的優點和缺點,而不是其他框架更適合您的需求。

因爲基於控制檯的應用程序不使用HTTP進行通信,所以我建議首先清理頭腦中的事情,這是Django框架的基礎以及REST理念。

+0

我們使用Django是因爲我們有一個運行數據庫管理的網站,我們希望在使用REST時使用數據庫創建基於控制檯的應用程序。 – Koralarts 2013-02-09 06:18:30

+0

@Datacommie:已經爲您的網站使用Django併爲您的數據庫建立模型確實是您忘記告訴我們的重要一點。我瞭解控制檯交互的需求,因此我提供了鏈接。我沒有得到REST部分。您希望能夠使用命令行訪問您的REST API?只需在我提供的鏈接中顯示的命令中包裝Tastypie資源。雖然這不會使用REST,但會提供相同的功能。 – Soravux 2013-02-09 16:41:08

+0

我會嘗試。我還發現應該幫助的睡眠。謝謝。 – Koralarts 2013-02-09 19:33:14