On 4 January 2011 02:27, Catalyst <cataly...@gmail.com> 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.

Reply via email to