Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多个django模板中呈现表单函数_Django_Django Forms_Django Templates - Fatal编程技术网

在多个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():

我编写了一个函数,该函数从表单中捕获详细信息,并在表单提交后发送电子邮件。如何将此功能呈现给多个django模板,在这些模板中我可以调用表单并执行此操作。 以下是相关功能

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%}
提交