django - 使用相对 URL 路径和请求正文在内部调用 Django API
问题描述
我正在从 GAE 迁移到 GKE。由于多种原因,我必须从 Cloud Tasks 切换到 Cloud Pub/Sub。使用 supervisord,我设置了一个服务来监听新发布的消息。这些消息包含 HTTP 方法、相对 URL 和有效负载。
使用以下代码,我可以获得ResolverMatch
相对 URL 的对象:
from django.core.urlresolvers import resolve # django.urls for Django>=2.0
task = {
'http_method': 'PUT',
'relative_uri': '/accounts/1/',
'body': '{"name": "John Doe"}',
'headers': {'Content-Type': 'application/json'},
}
match = resolve(task['relative_uri'])
print(match.func, match.kwargs)
不幸的是,我同时使用 ViewSet 和单独的方法来定义路线。create
因此,如果 HTTP 方法是 POST,我不能只调用视图集的方法,因为它可能不存在。
有没有办法只使用相对 URL 路径、HTTP 方法和请求正文在同一个 Django 应用程序内部调用 API?
解决方案
推荐阅读
- algorithm - 遗传算法中后代最大拟合分数的微小变化(重复)
- php - 为什么仅在 PHPUnit 测试中禁止返回请求?
- asp.net-core - Dotnet Core / SignalR 通信
- java - 码头线程线性增加
- javascript - 角度中的单例模式依赖注入
- vb.net - 将值从 GridView 传递到另一个
- html - 为什么 CSS div 元素下拉菜单不显示在另一个网格布局行上?
- php - PHP/CodeIgnitier 从这个多维 PHP 数组中获取单个值
- spring - 如参考文档中所述,Spring Data 中的 TypedSort 'by' 无法编译
- angular - Angular 函数在鼠标移动时被调用数百次