在多个django模板中呈现表单函数
我编写了一个函数,该函数从表单中捕获详细信息,并在表单提交后发送电子邮件。如何将此功能呈现给多个django模板,在这些模板中我可以调用表单并执行此操作。 以下是相关功能在多个django模板中呈现表单函数,django,django-forms,django-templates,Django,Django Forms,Django Templates,我编写了一个函数,该函数从表单中捕获详细信息,并在表单提交后发送电子邮件。如何将此功能呈现给多个django模板,在这些模板中我可以调用表单并执行此操作。 以下是相关功能 def emailView(request): if request.method == 'GET': form = myform() else: form = myform(request.POST) if form.is_valid():
def emailView(request):
if request.method == 'GET':
form = myform()
else:
form = myform(request.POST)
if form.is_valid():
subject='form Details'
mobile = form.cleaned_data['mobile']
email = form.cleaned_data['email']
dummy = '\nMobile: '+mobile+'\nEmail: '+email'
try:
send_mail(subject, dummy, 'dummy@gmail.com', ['dummy1@gmail.com', 'dummy2@gmail.com'])
messages.success( request, " Thank you !! For contacting.')
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect('email')
return render(request, "my_app/email.html", {'form': form})
您可以使用include标记来执行此操作。试试下面的方法 将以下内容视为url.py中的url
path('your_form/', views.emailView, name='myform'),
您可以使用下面的标记调用任意数量的模板
#template1.html
<form method="post" action="{% url 'myform' %}">
{% include 'yourapp/email.html' %}
<button type="submit">Submit</button>
#template2.html
<form method="post" action="{% url 'myform' %}">
{% include 'yourapp/email.html' %}
<button type="submit">Submit</button>
#template1.html
{%include'yourapp/email.html%}
提交
#template2.html
{%include'yourapp/email.html%}
提交