javascript - 带有客户端验证的 Django REST 框架
问题描述
我有很多问题,所以我要把我想做的事情背景化。
我正在后端创建一个带有 rest_api 的 Django 聊天应用程序,最终将与 websocket 一起成为一个实时网站。
我正在实施的第一个功能是:
- 我想做一些客户端验证来验证我要连接的房间是否已经存在。
在我的 api/models.py 中:
class Room(models.Model):
name = models.CharField(max_length=64, blank=False)
host = models.ForeignKey(User, on_delete=models.CASCADE, blank=False)
def __str__(self):
return self.name
我为该模型创建了一个序列化程序并遵循 APIView:
class RoomView(ListCreateAPIView):
queryset = Room.objects.all()
serializer_class = RoomSerializer
指向以下网址:
app_name = 'api'
urlpatterns = [
path('room/', views.RoomView.as_view(), name='index'),
]
我有检查输入的房间是否已经存在的功能,如果存在将重定向到该房间,如果不存在,则应向我的 api 发送 POST 请求,返回并重定向。
function roomExist() {
let name = document.getElementById('name');
if (!isEmpty(name)) return;
let room = document.getElementById('room');
if(!isEmpty(room)) return;
fetch('../api/room')
.then(res => res.json())
.then(data => {
data.forEach((e) => {
if (e.name === room.value) {
submitForm()
}})
createRoom(room.value)
})
}
轮子,我的问题是最后一部分,我如何向我的 api 发送 POST 请求。
解决方案
推荐阅读
- python - 用于许多可能字符串的 Python .contains() 函数
- mongodb - Mongoose 事务 session.withTransaction 不是函数
- hyperledger - 组织,应用。订购者。配置文件中的频道。如何设计它?
- python - 如何在 Python 中使用 lxml 将元素内的任何内容与另一个元素一起包装?
- python - 有没有办法使用 discord.py 从 python 的 IDE 发送消息?
- spring - Spring Secuirty SAML2 Core - 为运行时创建的身份提供者添加密钥
- elixir - 如何在长生不老药中检查数组的元素是否按顺序排列
- android - 在 Android Webview 或 iOS WKWebview 中托管 HTML5 Web 应用程序
- nginx - 服务工作者缓存页面是否意味着页面请求永远不会到达我的 nginx 或服务器?
- javascript - JavaScript 的保存状态