Skip to content

Instantly share code, notes, and snippets.

@guillaumepiot
Last active December 20, 2015 03:19
Show Gist options
  • Save guillaumepiot/6063015 to your computer and use it in GitHub Desktop.
Save guillaumepiot/6063015 to your computer and use it in GitHub Desktop.
DJANGO - Contact form template tag
import sys, httplib, urllib
from django.utils.translation import ugettext_lazy as _
from django import forms
from django.core.mail import EmailMultiAlternatives
from django.conf import settings
from django import template
register = template.Library()
ENQUIRY_CHOICES=(
('',_('Select')),
('Enquiry type',_('Enquiry type')),
)
class ContactForm(forms.Form):
first_name = forms.CharField(error_messages={ 'required':'Please enter your first name'})
last_name = forms.CharField(error_messages={ 'required':'Please enter your last name'})
email = forms.EmailField(error_messages={'invalid': 'This email is not valid', 'required':'Please enter your email'})
enquiry_type = forms.CharField(error_messages={ 'required':'Please select a type'}, widget=forms.Select(choices=ENQUIRY_CHOICES))
message = forms.CharField(error_messages={ 'required':'Please enter your message'}, widget=forms.Textarea(attrs={'rows':'3'}))
class NewsletterForm(forms.Form):
first_name = forms.CharField(error_messages={ 'required':'Please enter your first name'})
last_name = forms.CharField(error_messages={ 'required':'Please enter your last name'})
email = forms.EmailField(error_messages={'invalid': 'This email is not valid', 'required':'Please enter your email'})
@register.inclusion_tag('includes/contact_form.html', takes_context=True)
def contact_form(context):
request = context['request']
form = ContactForm()
success = False
submit_error = False
if request.method == 'POST':
form = ContactForm(data=request.POST)
if form.is_valid():
#Do what is necessary
return {'form': form, 'success':success, 'submit_error':submit_error }
@register.inclusion_tag('includes/newsletter_form.html', takes_context=True)
def newsletter_form(context):
request = context['request']
form = NewsletterForm()
success = False
submit_error = False
if request.method == 'POST':
form = NewsletterForm(data=request.POST)
if form.is_valid():
#Do what is necessary
return {'form': form, 'success':success, 'submit_error':submit_error }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment