实战:基于django+nuxt前后端分离的web产品架构

现在讲全栈,那必然绕不开前端。js一直是后端人员比较头疼的。

但随着前端的工程化,数据驱动型的框架比如vue,angular框的普及,前端的繁琐程度也大大下降。

SPA(单页应用)之前web有个天然的问题就是SEO,但其实只要用了vue/angular就是js驱动,本身seo效果也大打折扣就了了。这就有了服务端渲染(SSR)的出现。NUXT是一个很好的选择。

它整合了vue.js常用的组件,而且做了很多路由的约定,在vue项目的基础上,进一步简化了项目开化流程。而且对SEO也是友好的。按官网上基础步骤,直接就可以得到一个起步的网站,如下图:

django做为后端,天然带后台管理系统,这个相当方便。但接口还需要一个个封闭。为追求极简的开发体验,引入djangorestframework。直接model驱动生成api。

在setting.py里配置:

INSTALLED_APPS = [

...

'rest_framework'

]

django默认有用户数据表,我们把用户数据表接口化。

url(r'^', include(router.urls)),

url(r'^api-auth/', include('rest_framework.urls',namespace='rest_framework')),

adminx是django一个升级/美化版本的后台,加了一些数据筛选的功能,也很不错。

关于作者:魏佳斌,互联网产品/技术总监,北京大学光华管理学院(MBA),特许金融分析师(CFA),资深产品经理/码农。偏爱python,深度关注互联网趋势,人工智能,AI金融量化。致力于使用最前沿的认知技术去理解这个复杂的世界。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180207G0ZB2Q00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券