北京建网站价格优帮云培训课程网站建设,哪个平台最划算?
摘要:北京建网站价格优帮云,培训课程网站建设,wordpress教程文档下载,做水产有什么网站在上一章结尾我们了解到如采用前后端开发分离的架构模式开发,后端几乎不负责任何展现界面的工作,
北京建网站价格优帮云,培训课程网站建设,wordpress教程文档下载,做水产有什么网站在上一章结尾我们了解到如采用前后端开发分离的架构模式开发#xff0c;后端几乎不负责任何展现界面的工作#xff0c;只负责对数据进行管理 #xff0c;对数据的管理主要体现在#xff1a; #xff08;增加、修改、删除、列出 #xff09;具体的接口参考大佬的文档BYSM… 在上一章结尾我们了解到如采用前后端开发分离的架构模式开发后端几乎不负责任何展现界面的工作只负责对数据进行管理 对数据的管理主要体现在 增加、修改、删除、列出 具体的接口参考大佬的文档BYSMS系统 API 接口 1.0 | 白月黑羽 本章只做练习 一、添加应用、路由分发、api规划 接口文档明确说明了这是针对管理员用户的请求我们在前面创建过一个paas的应用专门处理paas相关的请求所以我们可以再为管理员用户专门创建一个应用mgr来处理相关的 请求 1、创建 mgr应用目录
python manage.py startapp mgr 2、添加处理请求模块 和 url 路由 前面我们都是直接把函数写到应用的views.py文件里面来处理http请求的后续如果我们需要添加的函数数量非常多就不方便了我们可以定义多个函数文件来处理这种请求比如定义cluster.py 来处理集群相关的请求sql.py 处理数据库方面的请求 接口文档案例
GET /api/mgr/customers?actionlist_customer HTTP/1.1#请求参数
http 请求消息 url 中 需要携带如下参数是action 填写的值为list_customer
通过接口文档可以看到对资源的增删改查操作都是同一个URL(/api/mgr/customers)
而不同的请求操作使用了不同的方法 GET POST PUT DELETE
3、路由分发函数 Django 的 url路由功能 不支持 根据 HTTP 请求的方法 和请求体里面的参数 进行路由如下 path(customers/, app.views.list_customer, methodget),
path(customers/, app.views.add_customer, methodpost), 碰到这种情况我们可以编写一个函数去将所有请求做条件判断转发给不同的函数处理 按照接口文档的url我们需要将/api/mgr/开头的请求都交给mgr的应用路由处理 vi Django_demo/Django_demo/urls.py
#添加路由分支,将api/mgr/ 转交给mgr应用下的子路由
path(api/mgr/, include(mgr.urls)), vi Django_demo/Django_demo/settings.py
INSTALLED_APPS [simpleui,django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,paas,mgr, #添加
] 我们添加了应用配置和路由方向了下面我们应该去定义api所在的文件和具体的路由配置 定义api函数
vi Django_demo/mgr/k8s.py
import jsonfrom django.http import JsonResponse
from django.shortcuts import renderdef dispatcher(request): # 将请求参数统一放入request 的 params 属性中方便后续处理# 判断应用的请求模式为GET时,取出请求后续的内容if request.method GET:request.params request.GET# POST/PUT/DELETE 请求 参数 从 request 对象的 body 属性中获取elif request.method in [POST,PUT,DELETE]:# 根据接口POST/PUT/DELETE 请求的消息体都是 json格式request.params json.loads(request.body)# 根据不同的action分派给不同的函数进行处理action request.params[action]if action list_customer:return listcustomers(request) #查看elif action add_cus
