Re: Contact form doesn't see user as logged in

2011-01-04 Thread Catalyst

  Thank you, this worked. I appreciate the fast response Łukasz.

On Jan 3, 11:38 pm, Łukasz Rekucki  wrote:
> On 4 January 2011 02:27, Catalyst  wrote:
>
> >  I am having trouble with a contact form on my site. Whenever I hit
> > the page, it doesn't see that the user is logged in. Here's how my
> > code looks.
>
> How do you check that user is logged in ? If it's via request.user,
> then it doesn't work 'cause you
> aren't passing the request object to your template's context. The
> recomended way to do this is using RequestContext:
>
> from django.template import RequestContext
>
> return render_to_response('forms/contact.html', {'form': form},
> context_instance=RequestContext(request))
>
>
>
>
>
> > 
> > #forms.py
>
> > from django import forms
> > from django.utils.translation import ungettext, ugettext_lazy as _
>
> > class ContactForm(forms.Form):
> >    subject = forms.CharField()
> >    email = forms.EmailField(required=False)
> >    message =
> > forms.CharField(widget=forms.Textarea(attrs={'rows':'20',
> > 'cols':'75'}))
> > 
>
> > 
> > #urls.py
> > from django.conf.urls.defaults import *
>
> > urlpatterns = patterns('myproject.forms.views',
> >    (r'^contact-us/$', 'contact'),
> > )
> > 
>
> > 
> > #views.py
>
> > from django.core.mail import send_mail
> > from django.http import HttpResponseRedirect
> > from django.shortcuts import render_to_response
> > from myproject.forms.forms import ContactForm
>
> > def contact(request):
> >    if request.method == 'POST':
> >        form = ContactForm(request.POST)
> >        if form.is_valid():
> >            cd = form.cleaned_data
> >            send_mail(
> >                cd['subject'],
> >                cd['message']+'\nUser email '+cd['email'],
> >                ('formemailaddr...@email.com'),
> >                ['sendaddr...@email.com'],
> >            )
> >            return HttpResponseRedirect('/forms/thanks/')
> >    else:
> >        form = ContactForm()
> >    return render_to_response('forms/contact.html', {'form': form})
> > 
>
> >  If I hit another page, the user still shows up as being logged in,
> > just this one area (the contact form) doesn't. Even the thank you page
> > shows the user as being logged in.
>
> >  Anyone have any ideas?
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Django users" group.
> > To post to this group, send email to django-us...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > django-users+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/django-users?hl=en.
>
> --
> Łukasz Rekucki

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: Contact form doesn't see user as logged in

2011-01-03 Thread Kenneth Gonsalves
On Tue, 2011-01-04 at 08:38 +0100, Łukasz Rekucki wrote:
> How do you check that user is logged in ? If it's via request.user,
> then it doesn't work 'cause you
> aren't passing the request object to your template's context. The
> recomended way to do this is using RequestContext:
> 
> from django.template import RequestContext
> 
> return render_to_response('forms/contact.html', {'form': form},
> context_instance=RequestContext(request)) 

and add the context processor:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
)


-- 
regards
KG
http://lawgon.livejournal.com
Coimbatore LUG rox
http://ilugcbe.techstud.org/

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: Contact form doesn't see user as logged in

2011-01-03 Thread Łukasz Rekucki
On 4 January 2011 02:27, Catalyst  wrote:
>  I am having trouble with a contact form on my site. Whenever I hit
> the page, it doesn't see that the user is logged in. Here's how my
> code looks.

How do you check that user is logged in ? If it's via request.user,
then it doesn't work 'cause you
aren't passing the request object to your template's context. The
recomended way to do this is using RequestContext:

from django.template import RequestContext

return render_to_response('forms/contact.html', {'form': form},
context_instance=RequestContext(request))

>
> 
> #forms.py
>
> from django import forms
> from django.utils.translation import ungettext, ugettext_lazy as _
>
> class ContactForm(forms.Form):
>    subject = forms.CharField()
>    email = forms.EmailField(required=False)
>    message =
> forms.CharField(widget=forms.Textarea(attrs={'rows':'20',
> 'cols':'75'}))
> 
>
>
> 
> #urls.py
> from django.conf.urls.defaults import *
>
> urlpatterns = patterns('myproject.forms.views',
>    (r'^contact-us/$', 'contact'),
> )
> 
>
>
> 
> #views.py
>
> from django.core.mail import send_mail
> from django.http import HttpResponseRedirect
> from django.shortcuts import render_to_response
> from myproject.forms.forms import ContactForm
>
> def contact(request):
>    if request.method == 'POST':
>        form = ContactForm(request.POST)
>        if form.is_valid():
>            cd = form.cleaned_data
>            send_mail(
>                cd['subject'],
>                cd['message']+'\nUser email '+cd['email'],
>                ('formemailaddr...@email.com'),
>                ['sendaddr...@email.com'],
>            )
>            return HttpResponseRedirect('/forms/thanks/')
>    else:
>        form = ContactForm()
>    return render_to_response('forms/contact.html', {'form': form})
> 
>
>
>  If I hit another page, the user still shows up as being logged in,
> just this one area (the contact form) doesn't. Even the thank you page
> shows the user as being logged in.
>
>  Anyone have any ideas?
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To post to this group, send email to django-us...@googlegroups.com.
> To unsubscribe from this group, send email to 
> django-users+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/django-users?hl=en.
>
>



-- 
Łukasz Rekucki

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Contact form doesn't see user as logged in

2011-01-03 Thread Catalyst
 I am having trouble with a contact form on my site. Whenever I hit
the page, it doesn't see that the user is logged in. Here's how my
code looks.


#forms.py

from django import forms
from django.utils.translation import ungettext, ugettext_lazy as _

class ContactForm(forms.Form):
subject = forms.CharField()
email = forms.EmailField(required=False)
message =
forms.CharField(widget=forms.Textarea(attrs={'rows':'20',
'cols':'75'}))




#urls.py
from django.conf.urls.defaults import *

urlpatterns = patterns('myproject.forms.views',
(r'^contact-us/$', 'contact'),
)




#views.py

from django.core.mail import send_mail
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from myproject.forms.forms import ContactForm

def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
send_mail(
cd['subject'],
cd['message']+'\nUser email '+cd['email'],
('formemailaddr...@email.com'),
['sendaddr...@email.com'],
)
return HttpResponseRedirect('/forms/thanks/')
else:
form = ContactForm()
return render_to_response('forms/contact.html', {'form': form})



  If I hit another page, the user still shows up as being logged in,
just this one area (the contact form) doesn't. Even the thank you page
shows the user as being logged in.

  Anyone have any ideas?

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.