我是相當新的都Django和角度。我認識到這是主觀的,可能有很多方法可以做到,但我想知道人們可以推薦哪些最佳實踐來佈置這樣的應用程序。我特別想到富人SPA的情況,後端主要還是完全是一個RESTful API服務器,但是我想爲所有從Django提供重要視圖的應用程序採用通用的方法。 (我還沒有做足夠的事情來決定後者是否使用Angular或者可能比它的價值更麻煩)。最佳實踐應用程式
具體做法是:
什麼是從後端對,比如說保持前端代碼在一個單獨的目錄/倉庫,Django的應用程序的「靜態」子目錄中的優點/缺點?就我而言,我是現在唯一的開發人員,這對這個決定有一定的影響,但我仍然可以認爲自己是後端,前端,設計師等的獨立「團隊」,因爲我的工作流程將會一次讓我參加這些角色之一。
我的設置基本上是一個開發機,SCM在GitHub上,並在WebFaction(共享虛擬主機)公開舉行。我希望能夠輕鬆地在不同的開發機器上抓取項目,但主要工作流程僅僅是一個開發人員,一個產品安裝。也就是說,我對真實項目中的最佳實踐感興趣,因爲我希望今後的工作可能與Django合作。
ADDED:我很不確定的另一點是Angular應用程序是否應該/必須由Django引導。也就是說,是否應該由Django提供頭版並注入任何數據?
優點:
- 可以配置URL路徑和從開發變爲生產甚至API端點,而沒有任何可替換的配置和在沒有這些被硬編碼在前端。
- 這可能是認證所必需的嗎?我不清楚已經沒有這樣做還...
- 允許使用像Django的調試工具欄應用程序的工具。
缺點:
- 全部前端到後端。如果我想換掉後者呢?如果我希望前端在模擬數據的沙箱中工作,該怎麼辦?
- 似乎非常有利於移動所有角的東西到Django應用程序的佈局。同時,我不喜歡在一個地方混合使用Angular部分,而在另一個地方使用Django模板。我已經決定不要將NG和DJ模板混合在一起,因爲我不相信這會帶來太好的結果。
謝謝Slaven。我想知道,你的意思是通過Django應用程序中的Angular應用程序來促進通過Django進行登錄過程,還是說這兩個框架非常合適?如果前者,我不清楚爲什麼會這樣。 –
不,整個登錄過程是通過Django完成的(根本沒有AngularJS),如果用戶登錄,我服務於FE應用程序(例如,是AngularJS應用程序的index.html)。順便說一句,我看到你提到:「我已經解決了不混合NG和DJ模板」,除了登錄屏幕,你不會有任何Django模板,如果你喜歡,你也可以刪除它。如果你打算使用AngularJS作爲FE,那麼應該在那裏完成所有工作,並且只對REST API使用Django。 (我欺騙了一下,並用它來登錄過程以及) –
啊,我想我遵循。 index.html這裏是一個靜態文件,還是一個Django視圖?我饒有興趣地說,當用戶將任何URL加入應用程序時,Django基本上將它們路由到登錄頁面,除非它們已經登錄,而Angular應用程序基本上不會「知道」這個。正確? –