11from django import forms
22from django .core .mail import send_mail
33from django .db import models
4+ from django .http import HttpResponseRedirect
45from django .template import RequestContext
56from django .template .loader import render_to_string
67from django .utils .translation import ugettext_lazy as _
@@ -31,8 +32,10 @@ def initialize_type(cls, form=None):
3132 if form :
3233 cls .form = form
3334
34- def render (self , ** kwargs ):
35- request = kwargs .get ('request' )
35+ def process (self , request ):
36+ if request .GET .get ('_cf_thanks' ):
37+ self .rendered_output = render_to_string ('content/contactform/thanks.html' )
38+ return
3639
3740 if request .method == 'POST' :
3841 form = self .form (request .POST )
@@ -47,7 +50,7 @@ def render(self, **kwargs):
4750 [self .email ],
4851 fail_silently = True )
4952
50- return render_to_string ( 'content/contactform/thanks.html ' )
53+ return HttpResponseRedirect ( '?_cf_thanks=1 ' )
5154 else :
5255 initial = {'subject' : self .subject }
5356 if request .user .is_authenticated ():
@@ -56,7 +59,10 @@ def render(self, **kwargs):
5659
5760 form = self .form (initial = initial )
5861
59- return render_to_string ('content/contactform/form.html' , {
62+ self . rendered_output = render_to_string ('content/contactform/form.html' , {
6063 'content' : self ,
6164 'form' : form ,
6265 }, context_instance = RequestContext (request ))
66+
67+ def render (self , ** kwargs ):
68+ return getattr (self , 'rendered_output' , u'' )
0 commit comments