Django 联系表不提交

Django contact form doesnt submit

我正在尝试设置联系表。我已经实施了 Django-crispy-forms,现在我的表单没有提交(我没有任何错误)。

我已将 action="" 添加到模板中的表单,但没有成功。

forms.py

class ContactForm(forms.Form):
    name = forms.CharField(max_length=100, help_text='Enter your name or username')
    email = forms.EmailField()
    message = forms.CharField(widget=forms.Textarea(attrs={'rows': 3, 'cols': 40}), help_text='Example: I forgot my password!')

views.py

def contact_us(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            sender_name = form.cleaned_data['name']
            sender_email = form.cleaned_data['email']

            message = "From {0}:\n\n{1}".format(sender_name, form.cleaned_data['message'])
            send_mail('PLM_Tool contact', message, sender_email, ['myadress@gmail.com'])
            return redirect('home:index')
    else:
        form = ContactForm()

    return render(request, 'accounts/contact.html', {'form': form})

urls.py

app_name = 'accounts'
urlpatterns = [path('contact/', views.contact_us, name='contact'),]

contact.html

{% extends "base.html" %}
{% load crispy_forms_tags %}

{% block main %}
<form method="post" action="">
    {% csrf_token %}
    <div class="row">
        <div class="col-6">
            {{ form.name|as_crispy_field }}
        </div>
        <div class="col-6">
            {{ form.email|as_crispy_field }}
        </div>
        <div class="col-6">
            {{ form.message|as_crispy_field }}
        </div>
    </div>
</form>
<button type="submit" class="btn btn-success">Send</button>
<a href="{% url 'home:index' %}" class="btn btn-danger">Cancel</a>
<br><br>
{% endblock %}

问题出在这里,不要给表单赋值 脆皮表格创建字段而不是按钮。

<form method="post">
    {% csrf_token %}
    <div class="row">
        <div class="col-6">
            {{ form.name|as_crispy_field }}
        </div>
        <div class="col-6">
            {{ form.email|as_crispy_field }}
        </div>
        <div class="col-6">
            {{ form.message|as_crispy_field }}
        </div>
    </div>
<button type="submit" class="btn btn-success">Send</button>
</form>

只需在表单中添加按钮