Отправка форм в django без обновления страницы

Окей, во-первых, я знаю, что существует множество видео и учебников, которые помогут в решении поставленного мной вопроса. Однако, мой случай немного отличается от обычного. Итак, в основном, я пытаюсь создать приложение для чата на Django. Для этого я планирую сохранять сообщения, которые пользователь хочет отправить, в базе данных, а затем выводить их на экран. Теперь, чтобы отправить эти данные на сервер, я хочу использовать Ajax, так как это предотвратит перезагрузку страницы и тем самым сделает UX намного более плавным. Однако в связи с этим возникает проблема. ** Проблема в том, как мне отследить, из какой комнаты/чата пришло сообщение и какой пользователь его отправил? **Очевидное решение, которое приходит на ум - создать скрытое поле внутри моей формы и затем передать в него данные о комнате через это скрытое поле. Но не будет ли это очень небезопасно, так как данные могут быть изменены, что позволит пользователям отправлять сообщения из чата, к которому у них есть доступ, в чат, к которому у них нет доступа. Частью имени пользователя все еще можно управлять с помощью request.user. Проблема возникает только с частью, связанной с отслеживанием деталей комнаты. Любая помощь/идеи приветствуются. Спасибо!

Прежде всего, посмотрите на Django Unicorn: https://www.django-unicorn.com/

Это может быть идеальным вариантом для такого рода приложений.

Но не будет ли это крайне небезопасно, поскольку данные могут быть изменены, что позволит пользователям отправлять сообщения из чата, к которому у них есть доступ, в чат, к которому у них нет доступа?

.

Как уже отметил Абдул Азиз Баркат, это справедливо для всех видов отправки формы. Вы должны проверить в своем коде, разрешено ли пользователю отправлять сообщения в/из комнаты и человеку. Это можно сделать в методе формы clean(), где вы можете выдать ошибку типа PermissionDenied.

Вернуться на верх