2011-10-31 67 views
0

我有一個Django項目。它始終打算有兩個單獨的前向URL。 一個是給老師的,一個是給學生的。 老師可以發佈作業,等待學生完成作業,然後檢查作業。 這兩個網站都有非常不同的功能。我應該將這個Django項目分成兩個項目嗎?

目前,具有代碼是在一個單一的項目越來越多毛。學生可以以懶惰的方式註冊(即在工作之後),但教師不能。我有複雜的邏輯來確保用戶在註冊和顯示視圖時是正確的角色。教師和學生都有不同的配置文件(所以我目前不能使用AUTH_PROFILE_MODULE)。我不在乎是否有兩種用戶分開的表格。事實上,我更喜歡這一點。

如果我是這個分裂成兩個項目,我相信很多事情會概念比較簡單。唯一的問題是,當教師提交作業時,我需要以某種方式將該作業發佈到學生網站。但同步內容將比保持兩種類型的用戶使用相同的代碼簡單得多。 (同步只發生在兩個地方,此外這兩個網站有不同的功能和模型和應用程序。)

我應該分解成兩個項目?如果是這樣,從一個Django站點向另一個站點共享數據的安全方式是什麼?

回答

0

我認爲拆分爲兩個項目將創建更爲問題,那麼它解決了與(從我有限的應用程序的知識),我不認爲這將是有意義的這樣做 - 這兩個用戶是作爲單一作業提交和標記系統/應用程序的一部分,因此應該這樣開發。僅僅因爲它可能會讓你的工作變得輕鬆並不意味着這是正確的舉措。

是否使用繼承?你有沒有編寫或使用額外的權限?這聽起來像你可以使用裝飾器,中間件和自定義的AUTH_PROFILE_MODULE實現清理你的兩個概念上不同的配置文件。

+0

我downvoting你,因爲你沒有真正解釋爲什麼會更糟。 「創造更多的問題,然後解決」像什麼? 「並不意味着這是正確的舉動?」爲什麼不? 「你在繼承嗎?」是的,在配置文件中。 –

+0

如果您沒有提供您的實施細節,我該如何給出具體的例子?如果將應用程序分成兩個獨立的項目,那麼基本上必須對它們進行編程,就好像它們是通過互聯網進行通信的兩個單獨的實體一樣,如果它們共享相同的代碼庫,這將變得更加困難。你將不得不爲他們編寫兩個獨立的API來相互交流。 –

+0

正如我所說,所需的通信量極少,除此之外,代碼庫將非常獨特。 –

相關問題