@rekursy

Каким образом AJAX функционирует с джанго?

Добрый день, хочу детально расписать то, как я вижу реализацию своего проекта и хочу услышать мнение программистов, которые за это понимают.

У меня есть свой проект на Django
625675e7182bc866218940.jpeg
Сначала я работал по старым методам, что когда нажимается кнопка, происходит redirect на эту же страницу,
сейчас же я немного научился работать с AJAX, чтобы при нажатии, не происходил redirect и кнопка менялась.

Мой вопрос состоит в том, что не будет ли костыльным кодом такая верстка, где на стороне сервера, будет информация о том, что находится ли фильм в избранном, а сам AJAX будет высылать только флаги, которые говорят серверу, что нужно добавить/удалить фильм из избранного.
  • Вопрос задан
  • 236 просмотров
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
где на стороне сервера, будет информация о том, что находится ли фильм в избранном,

она и в любом случае будет на стороне сервера. Вопрос в том, как ее получать.
Я бы при загрузке страницы получал все необходимые данные через контекст представления, отображающего страницу и отображал соответствующие кнопки с помощью шаблонов.
А js-запросы использовал бы только для обновления состояний (посылая запросы на необходимые урлы).
Другое дело, что ajax, как и jquery в целом - мало актуальны. Как минимум для запросов можно использовать xmlhttprequest или fetch.
А вообще, как альтернативу - можете посмотреть на фреймоврки по типу react/angular/Vue.js
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Jack444
Это не костыль а наоборот распрастраненное решение. Создай новую модель Избранные, туда две связи 1кМногим добавь пользователя и фильм, ещё для анонимных пользователей с моделью сессии можно связать но сессии лучше в мемкеш запихивать. Сделай дополнительную вюху которая принимает аргумент add и del и исходя из запроса удаляй или создавай запись в модели.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 мая 2024, в 22:58
3000 руб./за проект
18 мая 2024, в 21:07
5000 руб./за проект
18 мая 2024, в 20:58
5000 руб./за проект