『Django』初识前后端分离
点赞 + 关注 + 收藏 = 学会了
本文简介
在前面的「Django」系列的文章 中使用的是“前后端不分离”的方式去学习 Django
,但现在企业比较流行的开发方式是前后端分离。
简单来说,前后端分离就是把前端和后端的工作分配给2个人做,前端主要负责用户界面的开发,后端主要负责系统功能的开发维护以及对数据库的操作。这种情况下,前后端就通过“接口”的方式进行交互。
用饭店打比方,前端有点像服务员,服务员的衣着、礼仪会直接影响顾客的用餐体验,后端就有点像后厨,主要负责做菜。顾客是不清楚厨师在后头的所有操作,他们通常会告诉服务员想吃点什么,然后服务员就拿着餐单给到后厨制作指定菜式。菜做好之后,服务员就把菜端到顾客的餐桌上。
在 Django
的生态中已经有成熟的前后端分离的相关工具,但本文先不介绍这些工具(之后的文章再介绍),我们先使用最原始的方式读取数据库,然后返回接口和数据给到前端。
用Django最基础的方式写
还是使用之前的 「Django」系列的文章 创建的项目。
此时我们已经把博客相关的应用和模型搭建好了,也有几条数据了。
那如何将这些数据通过接口的方式传给前端呢?
先梳理一下流程:
- 前端通过某个
URL
告诉后端想要什么数据 - 后端接收到前端的请求后,就去查找这些数据,找到后返回给前端
- 前端拿到这些数据后,根据业务需求去渲染到浏览器上
以上步骤是实际项目中最常见的交互流程,在本文中,我们用 axios
这个前端的 ajax
库将数据请求到就算成功,所以上面的步骤中就不做第3步了。
那么,第一步的 URL
要怎么定义呢?
首先,要在 Django
项目中创建一个路由,这个路由就是专门返回 JSON
这种数据结构的数据给回前端。
为了和之前的视图产生一些区别,接下来的路由都是以 api
开头。
在项目的路由文件(urls.py)中添加一个 api
开头的路由。
# urls.py
from django.contrib import admin
from django.urls import path, include
from blog.</