django


一、前言 小落同学原先没有做多用户,想改版一下可以支持多用户,所以需要改造原来的websocket API接口目标示例的请求如下:ws://x.rg4.net/ws/b7e14e7c1a1d42019d866166c81119d1?llm=chatgpt&character_id=2&chatmode=text&token= OK,那让我们来试试。 二、让Django支持websocket 在 Django 中启用 WebSocket 通常需要借助第三方库,因为 Django 自身的框架并不直接支持WebSocket。一个流行的选择是使用 Django Channels,这是一个为 Django 提供异步能力的扩展,包括 WebSocket 支持。 以下是如何在 Django 项目中启用 WebSocket 的基本步骤: 1. 安装 Django Channels 2. 更新 Django 设置 在你的 Django 项目的 settings.py 文件中,你需要添加 Channels 到你的 INSTALLED_APPS 列表中,并设置 注意:’xiaoluo.asgi.application’ 应该替换为你的 Django 项目的实际名称和 ASGI 应用程序的路径。 3. 创建 ASGI 应用程序: […]

django如何启用websocket,并使用动态路由参数


[TOC] 一、前言 1。我的Django APP(omserver)有在settings.py里启用csrf_token middleware 2。在我的所有form里都有加{% csrf_token %}标签代码里有两种方式的POST,1)有form: 直接将整个form serialize(),然后 ajax submit 2)没有form: 3。在开发环境跑所有功能都OK。 4。开发环境和部署环境的一个差别1)开发环境访问后台是直接连接后台的django地址:http://localhost:8000/omserver2)部署环境访问后台是跟前端共用了一个域名:https://x.rg4.net ,然后这个域名再通过nginx反向代码分别跳转到前台(http://localhost:3000)和后台(http://localhost:8000/omserver) 二、各种尝试 尝试1:怀疑是不是过nginx后,cookie丢失?nginx反向路由加一些头 结果:没用,403依旧。 尝试2:怀疑csrf token没传到django?在我的app里加一个 middleware,拦截所有的request,并将其内容打出来以确认 django有没有收到前端传过来的csrf token 1)先在我的app omserver下创建一个middleware.py,然后加入以下代码 2)将这个middleware加入到settings.py 结果:django有收到前端传过来的csrf token,但就是403 这里打印出来的csrfmiddlewaretoken值,与我在前面javascript ajax post时打印出来的值是一毛一样的,为什么报错? 尝试3:分析csrf.py代码,将校验过程打印出来 1)拿到检验错误原因为:{“detail”:”CSRF Failed: Origin checking failed – https://x.rg4.net does not match any trusted origins.”}2)重新修改settings.py,将前面禁用掉的csrf middleware重新打开 同时在settings.py里加入 这个时候报错变成了 注:中间有碰到一个新问题,刷新前端界面报错 […]

[未解决]将xiaoluo-3d部署到公网后,出现所有POST都报403错误