Django Send Mail продолжает выбрасывать ошибку WSGI

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

enter image description here

Я не смог найти ошибку в коде. Все учетные данные на месте. Я использую smtp-сервер SendingBlue для этого проекта. Взгляните на мой код:

views.py

from django.shortcuts import render, redirect
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect

# Create your views here.

def home(request):
    return render(request, 'index.html')


def register(request):

    if request.method == 'GET':
        return render(request, 'register.html')

    else:
        name = request.POST['full-name']
        email = request.POST['email']
        phone = request.POST['phone']
        nationality = request.POST['nationality']

        try:
            send_mail("Trial Application", name + email + phone + nationality, '*my email*', ['* same email*'])

        except BadHeaderError:
            return HttpResponse('Something Went Wrong')
        
        return redirect(request, 'index.html')
    return render(request, 'register.html')

settings.py

EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp-relay.sendinblue.com"
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = "*my email*"
EMAIL_HOST_PASSWORD = "password"

register.html


        <form action="" method="post" class="form">
            {% csrf_token %}
            <fieldset>
                <legend>Please fill in the required details</legend>
                <input type="text" name="full-name" placeholder="Full Name" id="">
                <input type="email" name="email" placeholder="Email" id="">
                <input type="tel" name="phone" placeholder="Phone Number" id="">
                <input type="text" name="nationality" placeholder="Nationality" id="">

                <input type="submit" value="Submit" id="submit">
            </fieldset>
        </form>

Буду очень признателен, если кто-нибудь поможет мне устранить эту ошибку. Заранее спасибо.

Ошибка, которую вы испытываете, связана не с функцией send_mail, а с тем, что Django не может найти URL: '/apply/'. Действие, которое вы указываете в HTML форме, не присутствует в urls.py. Пожалуйста, убедитесь, что действие соответствует шаблонам URL вашего django.

например:

<!--If this is your form tag:-->
<form method=post>

вам нужно добавить к нему действие, которое должно соответствовать отображению URL в вашем django urls.py вот так:

<form method=post action="/register/account">

действие приведет форму на этот URL после нажатия кнопки submit: http://localhost/register/account

Таким образом, в urls.py вы должны иметь шаблон соответствия типа:

urlpatterns = [
path('register/account', views.register, name='register')
]
Вернуться на верх