2017-10-14 57 views
0

首先,這是我的#2的第一個問題。任何積極的批評是值得歡迎的。我試圖尋找答案,這是我的最後手段。使用自定義Python類旁邊Django應用程序

在一個學校項目中,我和我的團隊必須創建一個具有特定服務器端架構的購物網站。我們同意使用Python,轉身朝自己的Django因爲它似乎能夠提供比其他可能的框架,更多的功能。請注意,我們以前從未使用過Django。我們不是在網絡上部署應用程序的主人(我們都在學習)。

這是我的問題:在項目中兩週,我們的老師告訴我們,我們不允許使用任何ORM。對我來說,這意味着再見了Django模型,並且我們必須自己創造一切。

下面是我的問題:因爲我們已經創建了所有的python類,有沒有辦法讓我們將它們與我們的Django應用程序一起使用?我還沒有看到任何在Django應用程序中使用自己的python類的人的在線示例。如果可能的話,我們應該在哪裏實例化所有的對象?只用一個框架(我正在考慮Flask)會更容易嗎?我是否錯過了關於Django如何工作並詢問一個愚蠢問題的重要信息?

在完成我們的項目之前,我們已經完成了4周並且還有6周要完成。我經常在網上看到「在使用Django之前使用Flask」,因爲它更簡單易用。我們決定使用Django,因爲在項目描述中,Django是推薦的,但不是Flask。

感謝您的幫助。

+0

我不知道我理解你的問題。 Django只是Python;你可以定義和使用你想要的任何類。 –

+0

我會在哪裏實例化這些類,這樣我的應用程序使用它們?我需要使用映射器對象。當我部署我的Django應用程序時,哪個python腳本運行?我應該在那裏實例化我的對象嗎? 根據我的理解,當您在Django應用程序上執行HTTP請求時,應用程序會遍歷其url列表,如果匹配,它會將相應的視圖返回給用戶。 我只是困惑,在我的定製類來在這一Django的流動??? – OTreps

回答

1

沒有被絕對Django的專家,這裏是我的意見。

Django ORM遠非這個框架提供的唯一功能(URL路由,測試客戶端,用戶會話變量等),但它肯定是您在使用Django時要使用的主要組件因爲它通常與Django的其他核心特性直接相關。

如果使用ORM是完全禁止的,很多開箱即用的功能將無法使用。我可以考慮的一個主要功能是管理界面。如果ORM不適合您,您將無法使用它。

所以,在我看來,你應該去另一個像Flask這樣的框架。主要是因爲沒有使用ORM,一些Django值已經消失。

希望它有幫助!

+0

@Daniel Roseman雖然有一個好點。我認爲你的目標是創建一個數據庫模式?你的項目需要數據庫嗎?因爲如果沒有,我會刪除我的答案,因爲你可以定義和使用python類,如果你想。 – scharette

+0

我們確實需要爲我們的項目使用數據庫。我只是困惑於在Django項目中使用我的python類的正確方式。我們應該在整個Django流程中實例化我們的對象嗎?我沒有看到任何網上的例子,他們都使用模型。 – OTreps

+0

是的,ORM像數據庫和項目之間的附加層。因此,通過創建'models',您可以使用python對象而不是原始SQL查詢與數據庫進行交互。所以如果你的目標是創建類存儲在數據庫中,這就是Django中的'models'。但是,正如你在問題中所說的那樣,你不允許使用Django的ORM。因此,你不能使用這些模型,這就是爲什麼我建議你去另一個框架。 – scharette