it/itf/frontpage/views.py
2012-05-15 02:22:57 +05:30

72 lines
2.4 KiB
Python
Executable File

# Create your views here.
from django.shortcuts import render_to_response
from models import *
from settings import TWITTER_ID
import twitter
from django.template import RequestContext
from django import forms
from django.forms.widgets import Textarea
from django.utils.html import urlize
from django.core.mail import send_mail
from django.views.decorators.cache import cache_page
class ContactForm(forms.Form):
name = forms.CharField(max_length=255)
email = forms.CharField()
message = forms.CharField(widget=Textarea(attrs={'cols': 10, 'rows': 6}))
def save(self, fail_silently=False):
if not self.is_valid():
raise ValueError("Sorry, invalid contact form.")
# from_email = self.cleaned_data['from_email']
email = self.cleaned_data['email']
name = self.cleaned_data['name']
message = self.cleaned_data['message']
message_body = '%s wrote: \n\n %s' % (name, message,)
recipients = ['sanjaybhangar@gmail.com', 'indiatheatreforum@gmail.com']
send_mail(fail_silently=fail_silently, from_email=email, message=message_body, recipient_list=recipients, subject="Contact on theatreforum.in")
'''
class Meta:
widgets = {
'message': Textarea(attrs={'cols': 80, 'rows': 20})
}
'''
@cache_page(60 * 30)
def index(request):
try:
tApi = twitter.Api()
statuses = tApi.GetUserTimeline(TWITTER_ID)[0:3]
except:
statuses = []
boxes = SliderBox.objects.all()
front_images = FrontImage.objects.filter(is_active=True)[0:3]
return render_to_response("noel/index.html", RequestContext(request, {
'tweets': [urlize(s.text) for s in statuses],
'boxes': boxes,
'front_images': front_images
}))
def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid:
form.save()
errors = 0
success = True
else:
errors = form.errors
success = False
else:
form = ContactForm()
success = False
errors = []
# form = ContactForm()
return render_to_response("registration/contact.html", RequestContext(request, {
'form': ContactForm(),
'errors': errors,
'success': success
}))