#javascript #python #css #django #twilio
Вопрос:
В настоящее время я работаю над проектом (на основе Django), в котором есть профиль пользователя, в котором пользователи могут подтвердить свой номер мобильного телефона. Для этого я использую Twilio.
Я хочу, чтобы, когда пользователь просматривает свой профиль, прямо под полем номер мобильного телефона должна быть опция «Подтвердить свой номер мобильного телефона», которая будет выделена красным цветом. Как только пользователь подтвердит это (с помощью некоторых серверных материалов Django/python) и снова вернется на страницу профиля, это сообщение должно быть «проверено» (зеленым цветом).
Я хочу, чтобы код CSS и JavaScript достиг этого, потому что для проверки SMS и всего прочего у меня уже есть код.
Буду признателен за любую помощь.
Ответ №1:
Это делается с помощью AJAX, вот шаги
- создайте новое представление, которое проверяет статус пользователя, например, is_verified_user, и возвращает значение True/False
- напишите функцию JS, которая вызовет представление и проверит ответ, это должно быть что-то вроде этого
function check_user_status(){ $.ajax({"url":"{%url 'is_verified_user'%}", success:function(data){ if (data == "True") { //change the colors} else setTimeout("check_user_status",3000) // Check again in 3 seconds } }) }
- Как только пользователь нажмет на кнопку «подтвердить свой номер мобильного телефона», вызовите
check_user_status
функцию, чтобы начать проверку.
P. S для этого вам нужен jQuery.
Ответ №2:
Проверьте ответ api и используйте тернарный оператор
Пример в React JS
const [состояние, setState] = Состояние использования(ложь)
useEffect (() = > { // вызов api
пусть ответ = axios.get(‘/’)
пусть результат = ответ.проверено ? правда : ложь
Состояние набора(результат)
},[состояние])
возвращение (
)