因?yàn)橐囊恍┮郧暗男枨?主管讓我學(xué)習(xí)一下vue,花了半天的時間算是入了門,就要拿成熟的項(xiàng)目去改,這個難度還是挺大的.
熟悉網(wǎng)站建設(shè)的人應(yīng)該都知道vue是一個出色的前端框架,而django是python語言體系下的一個后端框架,雖然說他們兩個都可以寫出完整的網(wǎng)站,但是各有側(cè)重點(diǎn),django發(fā)開速度快,但是本身自帶的模板引擎比較孱弱,而vue是以數(shù)據(jù)驅(qū)動和組件化的思想構(gòu)建,在渲染頁面方面實(shí)屬一流,所以作為python開發(fā)者,有時候就會將這個兩個框架結(jié)合起來,進(jìn)行網(wǎng)站的開發(fā).
不同的框架是如何結(jié)合在一起呢,這就引出了一個前后端分離的思想,后端只提供接口,api,,前端去調(diào)用這些接口,來拿數(shù)據(jù),再渲染到html模板上
不同框架進(jìn)行開發(fā)時,最大的問題就是跨域,由于框架不同,他們所啟用的端口號是不同的,也就是不同的數(shù)據(jù)源,由于安全性,所以他們之間是不能直接訪問的,解除方法是在django的配置文件中引入跨域許可的中間件,用Django的第三方包django-cors-headers來解決跨域問題
這樣的話,我們就可以更方便的通過vue的啟動方式來進(jìn)行調(diào)試了
最后怎么整合到一起呢?我們知道django是通過指定模板和靜態(tài)文件的路徑來進(jìn)行渲染的,所以,我們需要將vue文件打包,生成index主頁面和靜態(tài)文件,這樣我們就可以把這兩個分別放入django默認(rèn)的文件夾下,或者重新指定路徑就可以了.