首页 > 解决方案 > 同时使用 Django REST 框架和 Web 套接字

问题描述

我有一个基于 Django 构建的应用程序。最初,我使用 Django REST API 框架构建了一些 API,效果很好。后来,我实现了 Web 套接字来监听服务器。我在端口 5010 上启动了应用程序服务器,该应用程序侦听服务器的套接字是 8010。但是,在实现 Web 套接字之后,我的 API 调用开始失败(下面的屏幕截图)。

在此处输入图像描述

观察:我注意到 POST 操作后 API 调用没有失败。失败发生在我在http://127.0.0.1:5010/subscribe/访问 API 的地方。也就是说,当我在浏览器中访问http://127.0.0.1:5010/subscribe/时,我看到了如上图所示的失败。

如果我通过删除 Web 套接字的代码来访问 API http://127.0.0.1:5010/subscribe/ ,则 API 调用工作正常(下面的屏幕截图)

在此处输入图像描述

请说明在 Django 中是否可以同时使用 REST API 框架和 Web 套接字。

标签: pythondjangodjango-rest-frameworkwebsocket

解决方案


我猜你在你的情况下使用了错误的 HTTP 请求。

在 Response 标头中,允许的 HTTP 请求是POSTOPTIONS。但是您正试图GET通过网络浏览器发出请求。

请尝试提出POST请求。


推荐阅读