Saya menerapkan verifikasi email di situs web saya, saya mengirim tautan/"token" ke pengguna, bagaimana cara membuatnya agar tautan dialihkan ke halaman sukses/gagal, berikut adalah cara mengirim tautan (saya menggunakan Bereaksi di ujung depan jika itu penting)

Views.py

@api_view(['POST'])
def sendmail(request):
    FRONTEND_URL='http://127.0.0.1:8000'
    token = get_random_string(length=32)

    verify_link = FRONTEND_URL + '/email-verify/' + token
    subject, from_email, to = 'Verify Your Email', 'my@email', request.data['to']
    html_content = render_to_string('verify_email.html', {'verify_link':verify_link, 'base_url': FRONTEND_URL})
    text_content = strip_tags(html_content)

    msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
    msg.attach_alternative(html_content, "text/html")
    msg.send()

    return JsonResponse({"message": "email sent"},status=HTTP_200_OK)
0
adel bouakaz 7 Mei 2021, 12:59

1 menjawab

Jawaban Terbaik

Ini mungkin pertanyaan rangkap. Masih saya menjawab yang satu ini.

Anda dapat menggunakan pengalihan atau HttpResponseRedirect

from django.shortcuts import redirect
    
def render_resp():
    # Example
    return redirect('/url/to/redirect/to/')

Anda mungkin menemukan artikel tentang react-router-redirection ini berguna untuk mengarahkan pengguna ke halaman lain setelah mendapatkan respon sukses/gagal.

Jika Anda menemukan kesulitan dalam memahami, beri tahu saya.

EDIT (DARI KOMENTAR):

Mohon periksa ini - Ini pasti akan membantu - Menggunakan basis data untuk menyimpan URL aktual dan nilai string acak dalam satu pemetaan

Setelah itu gunakan metode Pengalihan URL untuk mengarahkan permintaan Anda ke tampilan/metode yang diperlukan.

1
Karamdeep Singh 11 Mei 2021, 16:37