Python Django提交表单时提交按钮不起作用

2024-10-01 07:42:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python Django开发一个网站。 我想编码一个表单,通过电子邮件向我发送用户在表单中输入的电子邮件地址。 问题是“提交”按钮不起作用。 单击“提交”按钮时,我不会被重定向到新页面,也不会收到表单的内容。 你能帮我修一下吗

我的观点

def test(request): 
    if request.method == 'GET':
        form = newsletterForm()
    else:
        form = newsletterForm(request.POST)
        if  form.is_valid():
            subject = 'New Subscriber'
            from_email = 'no-reply@test.com'
            message =  ' Email Adress: ' + form.cleaned_data['from_email']

            try:
                send_mail(subject, message, from_email, ['info@test.com'])
                messages.success(request, 'Thank you for contact us we will get back soon')
                render(request, "Test.html")

            except BadHeaderError:
                return HttpResponse('Invalid header found.')
            render(request, "Test.html")

    return render(request, "Test.html", {'form': form})

我的HTML

<form id="newsletterForm" class="contact-form" action="#" method="post">
    <div class="input-group input-group-rounded">
         {{ form.from_email|add_class:"form-control" }}
        <span class="input-group-append">
        <button class="btn btn-light text-color-dark" type="submit"><strong>GO!</strong></button>
        </span>
    </div>
</form>

我的表格

class newsletterForm(forms.Form):
    from_email = forms.EmailField(label='search',
                    widget=forms.TextInput(attrs={'placeholder': 'Email Address'}))

背景

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'no-reply@test.com'  
EMAIL_HOST_PASSWORD = ‘xxx’
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'default from email'

Tags: fromtestformcom表单inputemailrequest