I'll try storing my current user's data to the session. By the way, is
this a limitation or
part of the django security model?


On Jul 20, 2:55 pm, Bill Freeman <ke1g...@gmail.com> wrote:
> On Tue, Jul 20, 2010 at 11:38 AM,reduxdj<patricklemi...@gmail.com> wrote:
> > OK, from my example, the model is called Roommate, so I am not
> > duplicating any User model data there... So all of the information
> > in that model has nothing to do the main user's email or other
> > properties.
>
> > Thanks for helping, I still don't have an answer from the above. How
> > do
> > I access the current user's email and name?
>
> The "current user", that is, the authenticated user, is typically available
> in a view as request.user (if you are not in a view there is no "current"
> user).  There is middleware that adds (a property that accesses on
> demand and caches) the user associated with the session.  If you are
> some function or method that doesn't have access to request, your
> best bet is to modify things so that request is passed in, or that it has
> been hung on an object that is passed in (you can say, in the view,
> roommate.request = request if roommate doesn't have a request
> field and then call a method on roommate that accesses self.request -
> just don't expect it to persist from request to request, or for other
> code that looks up the same roommate from the database,
> though caching could make this look as though it is working).
>
>
>
> > On Jul 20, 10:33 am, Bill Freeman <ke1g...@gmail.com> wrote:
> >> You don't say what model this is.  Since it doesn't exactly match
> >> django.contrib.auth.models, I'm going to guess that you may not
> >> be aware that the User model includes first_name, last_name,
> >> and email fields of its own.  Having duplicated those fields, are
> >> you perhaps becoming confused about where to find things?
> >> The typical registration apps usually place this data in the User
> >> instance, so if you're looking for it in your instance, you would
> >> have had to arrange to copy it everytime something changes it
> >> in either model.
>
> >> Duplicating data in one-to-one models (if what I'm looking at is
> >> your profile model) isn't likely to win "best practice" accolades.
>
> >> Bill
>
> >> On Tue, Jul 20, 2010 at 10:08 AM,reduxdj<patricklemi...@gmail.com> wrote:
> >> > HI,
>
> >> > So I tried for an hour or so to access  the current user's first name,
> >> > so I can send out a personalized invitation email. That reads, "Hi
> >> > Sam, Your friend Charlie wants you to sign up here..." I understand
> >> > how to access the user info from context, but how do I do it from
> >> > inside one of my models with a user foreign key?
>
> >> > Now, what's funny is I don't know how to access the current user's
> >> > first name.  I tried the following.
>
> >> > Thanks for the help!
>
> >> > Here's some code below.
>
> >> >    user =  models.ForeignKey(User)
> >> >    first_name = models.CharField(max_length=200)
> >> >    last_name = models.CharField(max_length=200)
> >> >    email = models.CharField(max_length=200)
> >> >    inv_date  = models.DateTimeField(auto_now_add=True)
> >> >    is_registered = models.BooleanField()
>
> >> >    #def __unicode__(self):
> >> >    #    return self.user.username
>
> >> >    def save(self, *args, **kwargs):
>
> >> >        if send_mail:
> >> >            User.get_profile = lambda self:
> >> > Profile.objects.get_or_create(user=self)[0]
> >> >            current_site = Site.objects.get_current()
> >> >            #subject =
> >> > render_to_string('roommate_invitation_subject.txt')
> >> >            # Email subject *must not* contain newlines
> >> >            subject = "Hello..."
> >> >            subject = ''.join(subject.splitlines())
> >> >            message = render_to_string('roommate_invitation_email.txt',
> >> > {'invitee':self.first_name,'inviter': self.user.first_name,'site':
> >> > current_site })
> >> >            send_mail('Invitation to xxx', message, 'invite_...@xxx',
> >> > [str(self.email)])
>
> >> > --
> >> > 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.
>
> > --
> > 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.

-- 
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