Ich arbeite an der Implementierung eines OTP-Systems in meinem Django-Projekt mit Twilio. Ich habe erfolgreich eine Twilio-Telefonnummer erhalten, aber die OTP-Nachricht wird nicht an die Mobiltelefonnummer des Benutzers gesendet. Unten sind die Details meines Setups: Code-Implementierung
Erwartetes Verhalten:
Die OTP-Nachricht sollte an die eingegebene Mobiltelefonnummer gesendet werden. Frage:
Was könnte das Problem verursachen und wie kann ich es beheben? Könnte es mit der Einrichtung meines Twilio-Kontos oder meiner Django-Konfiguration zusammenhängen? Für jede Hilfe oder jeden Einblick wäre ich dankbar! Zusätzliche Anmerkungen:
Ich bin mit einem Twilio-Testkonto.
Die Telefonnummer des Empfängers wird im Twilio-Dashboard überprüft.
In meinem Setup gibt es keine Netzwerk- oder Firewall-Einschränkungen.< /li>
Ich arbeite an der Implementierung eines OTP-Systems in meinem Django-Projekt mit Twilio. Ich habe erfolgreich eine Twilio-Telefonnummer erhalten, aber die OTP-Nachricht wird nicht an die Mobiltelefonnummer des Benutzers gesendet. Unten sind die Details meines Setups: [b]Code-Implementierung[/b] [list] [*][code]views.py[/code]: [/list] [code]def send_otp_view(request): if request.method == "POST": data = json.loads(request.body) phone_number = data.get('phone_number')
# Generate a random 6-digit OTP otp = random.randint(100000, 999999)
# Send OTP via Twilio (or any other SMS provider) try: client = Client(settings.TWILIO_ACCOUNT_SID, settings.TWILIO_AUTH_TOKEN) message = client.messages.create( body=f"Your OTP is {otp}. Please use this to verify your number.", from_=settings.TWILIO_PHONE_NUMBER, to=phone_number )
# Optionally, store the OTP in a session or database request.session['otp'] = otp request.session['phone_number'] = phone_number
return JsonResponse({'status': 'success', 'otp': otp}) # Return OTP for validation except Exception as e: return JsonResponse({'status': 'error', 'message': str(e)})
def address_view(request): if request.user.is_authenticated: user_addresses = Address.objects.filter(user=request.user)
if request.method == "POST": # Get the OTP from the form entered_otp = request.POST.get("otp")
# Check if the OTP matches if entered_otp == str(request.session.get('otp')): # Proceed with saving the address if OTP is correct mobile = request.POST.get("mobile") email = request.POST.get("email") pin = request.POST.get("pin") region = request.POST.get("region") address = request.POST.get("address") landmark = request.POST.get("landmark") name = request.POST.get("name")
// Compare entered OTP with the sent OTP if (otpInput.value === sentOTP) { feedback.style.display = 'block'; feedback.style.color = 'green'; feedback.textContent = 'OTP is correct!'; } else if (otpInput.value.length === sentOTP.length) { feedback.style.display = 'block'; feedback.style.color = 'red'; feedback.textContent = 'Incorrect OTP, please try again.'; } else { feedback.style.display = 'none'; // Hide feedback when incomplete } }
// Utility to get the CSRF token from cookies function getCookie(name) { const cookieValue = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)'); return cookieValue ? cookieValue.pop() : ''; } [/code] [b]Problem:[/b] [list] [*]Das Formular sendet die richtige Mobiltelefonnummer und die POST-Anfrage erreicht die Django-Ansicht. [*]Die Methoden „Client“ und „messages.create“ von Twilio werden aufgerufen, aber es wird keine SMS gesendet. [*]Ich sehe den folgenden Fehler in meinen Django-Protokollen: [/list] [code]Error sending OTP: TwilioRestException: [Error message here] [/code] [b]Was ich versucht habe:[/b] [list] [*]Überprüft, ob die Twilio-Anmeldeinformationen (Konto-SID , Authentifizierungstoken und Telefonnummer) sind korrekt. [*]Es wurde sichergestellt, dass die Telefonnummer im E.164-Format mit der richtigen Landesvorwahl vorliegt. [*]Bestätigt dass das Twilio-Testkonto das Telefon des Empfängers verifiziert hat Nummer. [*]Twilio-Nachrichtenprotokolle überprüft, aber für die fehlgeschlagene Nachricht werden keine Einträge angezeigt. [*]Die Twilio-Funktionalität wurde mit einem eigenständigen Skript getestet, das funktioniert: [/list] [code]from twilio.rest import Client
client = Client('YOUR_ACCOUNT_SID', 'YOUR_AUTH_TOKEN') message = client.messages.create( body="Test message", from_='+1234567890', to='+9876543210' ) print(message.sid) [/code] [b]Erwartetes Verhalten:[/b] Die OTP-Nachricht sollte an die eingegebene Mobiltelefonnummer gesendet werden. [b]Frage:[/b] Was könnte das Problem verursachen und wie kann ich es beheben? Könnte es mit der Einrichtung meines Twilio-Kontos oder meiner Django-Konfiguration zusammenhängen? Für jede Hilfe oder jeden Einblick wäre ich dankbar! [b]Zusätzliche Anmerkungen:[/b] [list] [*]Ich bin mit einem Twilio-Testkonto. [*]Die Telefonnummer des Empfängers wird im Twilio-Dashboard überprüft. In meinem Setup gibt es keine Netzwerk- oder Firewall-Einschränkungen.< /li> [/list]
Ich sende SMS von meiner PHP -Anwendung mit Twilio -API. Ich verwende ein Testkonto und habe Telefonnummern registriert, eine von Hexe ist meine eigene persönliche Telefonnummer. Die Nachrichten...
Ich erstelle eine App, bei der Benutzer ihre E-Mail-Adresse bestätigen müssen, sobald sie registriert sind. Dies erfolgt über ein OTP, das gesendet wird, sobald der Benutzer die Registrierungs-API...
Erstellen von Unit-Tests für Amazon Simple Email Service (SES) für eine Django-Anwendung mit Paket Django-Sses
Test_mail.py
from django.core import mail
...
def test_send_direct_email(send_ct):...
Ich versuche Scrapy in Django implementieren. Dafür hat mir dieses Thema geholfen. Ich schrotte keine Website. myspider.py :
from scrapers.items import ScrapersItem
Wir haben in unserer aktuellen Anwendung ein wiederkehrendes Problem, bei dem Benutzer mit einer Welle massenhafter Verbindungsabbrüche von Twilio konfrontiert sind. Die Anwendung wird mit AngularJS...