On Wed, Jan 18, 2012 at 5:35 AM, Eryn Wells <[email protected]> wrote:
> Hi all,
>
> This is my first post and it's a simple question... (I think)
>
> In my experience, it seems like Django allows users to log in to access and 
> modify the same content, like a blog with multiple authors or a CMS. I'm 
> trying to figure out how to do user-specific sites – something like a blog 
> site where every user has their own blog and they can log in to add, remove, 
> and edit their own posts (and no one else's). Each user has their own 
> preferences and the like as well. Is this something that Django's built-in 
> user framework can handle? Or could I maybe finagle the sites module into 
> doing something like this? Is it as simple as adding a ForeignKey to all my 
> models that points to the User that owns that particular db row (seems like 
> the brute force way of doing it...) or is there a more elegant way?

Hi Eryn,

It sounds to me like a foreign key to User is the best way to handle
what you're describing. If you set up the auth infrastructure, a
logged-in user will attach the current user to the request object, so
if you want to find the Posts for that user, it's a very simple
filtered query.

I'm not sure why you consider this to be "brute force"; you've pretty
much defined your requirements as "Show me all the blog posts for this
user", so that's what you encode in Django -- a view of blog posts,
filtered to those from the current user.

If your objection is that you need to code everything from scratch --
well, that's when you start looking for other people that have solved
the same problem, and use their code. There's a rich community of
reusable, open source Django applications, and unless you've got very
specific requirements, you'll probably find a "blog" package that will
meet those requirements. I'd suggest having a look around Django
Packages [1] to see if there is something that will meet your needs.

If you're looking for a more complex, CMS-like solution -- there are
pre-built solutions for those, too (Django CMS, FeinCMS, Mezzanine,
and others). Which one works best for you will depend on your
requirements.

[1] http://djangopackages.com/

Yours,
Russ Magee %-)

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

Reply via email to