Pinax: worth installing?

194 views
Skip to first unread message

ashdesigner

unread,
Jan 18, 2011, 8:26:14 AM1/18/11
to Django users
Guys, are there any considerable drawbacks of using Pinax for Django?
Is it worth installing, or is it better to launch and develop on
"pure" Django?

Cal Leeming [Simplicity Media Ltd]

unread,
Jan 18, 2011, 8:43:26 AM1/18/11
to django...@googlegroups.com, antony....@gmail.com
I would be interested to hear from anyone who has used Pinax in production.

Although I am discouraged by the maturity (only 2 years old?), it does seem to contain some useful features.

Personally, I would have liked to have seen some of these features merged into the Django core, rather than forked into a separate project, but that's just me.


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


Javier Guerra Giraldez

unread,
Jan 18, 2011, 9:30:54 AM1/18/11
to django...@googlegroups.com, antony....@gmail.com
On Tue, Jan 18, 2011 at 8:43 AM, Cal Leeming [Simplicity Media Ltd]
<cal.l...@simplicitymedialtd.co.uk> wrote:
> Personally, I would have liked to have seen some of these features merged
> into the Django core, rather than forked into a separate project, but that's
> just me.

AFAICT, it's not a fork, it's a set of apps that you use on top of Django.

And _very_ few of those apps would be any better in the core.

--
Javier

Russell Keith-Magee

unread,
Jan 18, 2011, 9:32:23 AM1/18/11
to django...@googlegroups.com
On Tue, Jan 18, 2011 at 9:43 PM, Cal Leeming [Simplicity Media Ltd]
<cal.l...@simplicitymedialtd.co.uk> wrote:
> I would be interested to hear from anyone who has used Pinax in production.
> Although I am discouraged by the maturity (only 2 years old?), it does seem
> to contain some useful features.
> Personally, I would have liked to have seen some of these features merged
> into the Django core, rather than forked into a separate project, but that's
> just me.

I think we need to clear up some misconceptions here.

Pinax isn't a "fork" of Django. That would be like saying Zope is a
"fork" of Python. It isn't a fork - one is a tool built using the
facilities provided by the other.

Django is a low level tool. It provides the essentials to route HTTP
requests to views, and return responses. Django doesn't mandate what
you build, or how you build it, or the right apps for the job. Django
only specifies something when it's clearly in the interest of all (or
at least, most) web developers to -- thus, Django provides a Forms
framework, a template rendering system, and a Sessions framework.

However, there are many things that Django *doesn't* have an opinion
on. For example, there are many ways to implement tagging. There are
many tagging applications available. Depending on your circumstances,
one implementation might be better than another. So Django doesn't
ship with a tagging app -- it's up to end users to find a tagging app
that meets their needs.

There are some exceptions to this rule. For example, the auth
framework isn't as good as it could be, and not every website has a
need for comments. However, the broad principle stands -- Django isn't
trying to provide every tool for every possible web job.

Pinax, on the other hand, works at a higher level. Pinax targets a
specific domain -- social web apps -- and as a result, they *are* in a
position to be opinionated about the best way to do tasks like
tagging. They haven't done this by "forking" Django. They have taken
Django, and the wide community of available apps, and selected a
subset of apps that complement each other, integrate well together,
and are appropriate for their target class of websites. Pinax is more
like a meta-packaging framework for Django apps. Every Pinax site has,
at it's core, a completely vanilla Django install.

And, to follow up on the criticism/wish -- elements of Pinax *have*
made it back to Django. For example, the static files framework that
will be in Django 1.3 started life as an external app, and proved
itself to be a useful tool due, in part, to being a recommended part
of Pinax installs.

So - you really don't have to make a "Pinax or Django" decision. Any
app that can be installed in a Django site can also be installed in a
Pinax site, and every Pinax site is a Django site.

As for the original question -- are there any drawbacks? Well, not
really. Pinax suggests a particular collection of apps, but you can
use any other app you want in parallel. Pinax mandates a few standards
for project layout and the like, but for the most part, they're just
using the best practices commonly understood by experienced members of
the Django community, but the Django project itself hasn't gone to the
trouble of formalizing.

About the only potential downside I can see is that If you're not
building something in Pinax's sweet spot -- i.e., a social web site --
you won't get all the benefits that Pinax has to offer. If you're
building something *really* different, you might find that Pinax's
conventions obstruct you in ways that a raw Django install wouldn't.
However, for most "websitey" websites, this won't be an issue --
Pinax's conventions are, for the most part, a bunch of practices that
you should probably be following anyway -- Pinax just forces/provides
the tools to help you to follow them :-)

Yours,
Russ Magee %-)

Gath

unread,
Jan 19, 2011, 12:37:49 AM1/19/11
to Django users
Magee,

Wow! Now thats what we call a response.

You made me understand this subject more.

Thanks a lot Magee.

Gath.

On Jan 18, 5:32 pm, Russell Keith-Magee <russ...@keith-magee.com>
wrote:
> On Tue, Jan 18, 2011 at 9:43 PM, Cal Leeming [Simplicity Media Ltd]
>

Oscar Carballal

unread,
Jan 19, 2011, 3:37:36 AM1/19/11
to django...@googlegroups.com
O Mar, 18-01-2011 ás 21:37 -0800, Gath escribiu:
> Magee,
>
> Wow! Now thats what we call a response.
>
> You made me understand this subject more.
>
> Thanks a lot Magee.
>
> Gath.
>
> On Jan 18, 5:32 pm, Russell Keith-Magee <russ...@keith-magee.com>
> wrote:
> > On Tue, Jan 18, 2011 at 9:43 PM, Cal Leeming [Simplicity Media Ltd]
> >
> > <cal.leem...@simplicitymedialtd.co.uk> wrote:
> > > I would be interested to hear from anyone who has used Pinax in production.
> > > Although I am discouraged by the maturity (only 2 years old?), it does seem
> > > to contain some useful features.
> > > Personally, I would have liked to have seen some of these features merged
> > > into the Django core, rather than forked into a separate project, but that's
> > > just me.
> >
> > I think we need to clear up some misconceptions here.

> > [...]

> > However, for most "websitey" websites, this won't be an issue --
> > Pinax's conventions are, for the most part, a bunch of practices that
> > you should probably be following anyway -- Pinax just forces/provides
> > the tools to help you to follow them :-)

+1

I tried to use pinax for a project I'm developing right now and after a
while I decided to leave it and start from scratch. As Russ says, pinax
works pretty well if your needs follow the ones established by pinax
(social sites, intranets, etc.) but if you ever need other thing, or
just need an application from pinax, it's a pain to do it.

Pinax team is rewriting most of the code to meet some standard
conventions and make the applications less attached to the pinax main
code. Also, some of the bundled projects are completely outdated, though
they work well, but if you use one of those (for example the social
site, it's the most outdated) you'll probably need to do a lot of
improvements on your own).

If you want to try pinax try the development version (it's two versions
ahead of the stable), they are doing a good work.

Regards,
Oscar Carballal

Ivan Uemlianin

unread,
Jan 19, 2011, 8:28:23 AM1/19/11
to Django users
Dear ashdesigner

I haven't tried Pinax for a while but last time I did (June 2009) I
got the impression that it was an all-or-nothing affair. Pinax was
marketing itself as a "social networking site in a box" and if that's
what you wanted, it was a reasonable choice. However, it turned out
that I required only a few of the apps in pinax, and quite a few other
apps not in pinax. After some experimenting and toing and froing, I
decided it would be much simpler to build something from scratch (of
course with django these days "from scratch" is not really from
scratch).

If someone's objective was to learn about django, I don't think Pinax
would be a good choice at all, partly because all the work has already
been done for you. Mingus might be better for that, as it was created
as a case study of django applications working together.

I second Cal Leeming's question: can anyone point to Pinax sites in
the wild?

Best wishes

Ivan


On Jan 19, 8:37 am, Oscar Carballal <piz...@gmail.com> wrote:
> O Mar, 18-01-2011 ás 21:37 -0800, Gath escribiu:
>
>
>
> > Magee,
>
> > Wow! Now thats what we call a response.
>
> > You made me understand this subject more.
>
> > Thanks a lot Magee.
>
> > Gath.
>
> > On Jan 18, 5:32 pm, Russell Keith-Magee <russ...@keith-magee.com>
> > wrote:
> > > On Tue, Jan 18, 2011 at 9:43 PM, Cal Leeming [Simplicity Media Ltd]
>
> > > <cal.leem...@simplicitymedialtd.co.uk> wrote:
> > > > I would be interested to hear from anyone who has usedPinaxin production.
> > > > Although I am discouraged by the maturity (only 2 years old?), it does seem
> > > > to contain some useful features.
> > > > Personally, I would have liked to have seen some of these features merged
> > > > into the Django core, rather than forked into a separate project, but that's
> > > > just me.
>
> > > I think we need to clear up some misconceptions here.
> > > [...]
> > > However, for most "websitey" websites, this won't be an issue --
> > >Pinax'sconventions are, for the most part, a bunch of practices that
> > > you should probably be following anyway --Pinaxjust forces/provides
> > > the tools to help you to follow them :-)
>
> +1
>
> I tried to usepinaxfor a project I'm developing right now and after a
> while I decided to leave it and start from scratch. As Russ says,pinax
> works pretty well if your needs follow the ones established bypinax
> (social sites, intranets, etc.) but if you ever need other thing, or
> just need an application frompinax, it's a pain to do it.
>
> Pinaxteam is rewriting most of the code to meet some standard
> conventions and make the applications less attached to thepinaxmain
> code. Also, some of the bundled projects are completely outdated, though
> they work well, but if you use one of those (for example the social
> site, it's the most outdated) you'll probably need to do a lot of
> improvements on your own).
>
> If you want to trypinaxtry the development version (it's two versions

ashdesigner

unread,
Jan 19, 2011, 8:59:53 AM1/19/11
to Django users
Dear all (and especially Russel!)))

Thank you so much for your efforts to clarify on the subject. Frankly,
I didn't expect THAT useful replies, indeed. Lot of things have been
given proper places.
In a nutshell, and in addition to what has been mentioned above, I am
wondering if there is some description of Django's best practices or
case studies in terms of a webproject layout. Although Django doesn't
force developers to follow one way or another, there should be some
description of how a good project SHOULD be designed.

Any suggestions?

Thanks again,
Anthony

bobhaugen

unread,
Jan 19, 2011, 11:02:23 AM1/19/11
to Django users
I've gone a couple of different ways on Pinax:

* I have built sites using Pinax pretty much as is, and Pinax heavily
customized.

* I have also built sites that did not start with Pinax, but added
several apps blessed by Pinax and using Pinax conventions.

Both approaches worked well.

By the way, Pinax now provides several ready-to-use projects out of
the box, not just a social project. More coming all the time,
including (I hear) community-developed open source projects.

Jason

unread,
Jan 19, 2011, 11:46:27 AM1/19/11
to Django users
I've found the current state of Pinax to be a bit hard to use.

Yes, it offers these 'ready-to-use' projects but they do not work out
of the box. There are CSRF problems, they don't load the initial
sample data properly, and sometimes they just don't load at all.

This is the case at least when I use the pip installation. (oh which
btw I flat out couldn't get to work period on Windows)

Overall it leaves me very worried about beginning a serious project in
Pinax. I'll definitely check back again with it at the official 0.9
release but for now I remain weary.

Derek

unread,
Jan 20, 2011, 1:55:15 AM1/20/11
to django-users
Jason

I have been planning to use Pinax for a large social network site, but your comments make me concerned (and wondering if I should wait for a 1.0 release).  I'd appreciate it if you could be a bit more specific about the issues you have encountered or know about. 

I assume that Django itself (being mature and stable) is not the problem.  Given that Pinax is essentially just a bundle of third party apps, are the problems with:

(a) one or more of the specific apps themselves?

(b) the way that one or more of the apps interact?

(c) only the sample data / demos?

Also, the great strength of successful open source projects is the interaction between developers and community.  What has the response been when you have communicated these issues to them ... do they not care?  do they respond at all?  

Thanks
Derek


Jason

unread,
Jan 21, 2011, 12:12:11 PM1/21/11
to Django users
I can't go into too much more detail since I pretty quickly gave up on
it.

Basically here's a summary of my experience:

I've known about Pinax for some time now and decided I might try it
out a base for my next Django project.
The computer I normally use at work is Windows XP.

I have a VirtualEnv setup already, Django runs fine etc.

I follow the instructions on the Pinax site and try to install it
using pip. When trying to create a Pinax project it throws some errors
unfortunately I forgot them. The folders are created and I try to
manage.py syncdb and there's a lot more errors.

I played with it a bit - blowing away Pinax entirely, starting new
VirtualEnv, etc. Didn't work.

Move on to trying it under Linux (OS X). Much smoother this time.
Projects can now be created without errors.

I try creating the sample 'ready to use' Holiday House (IIRC). Syncdb
doesn't work because of an improper profile app (IIRC). I fix that.
Works now - or at least it runs. CSRF errors all over the place also
totally lacking testing data. I manually import the data using -
loaddata (I assumed this would have been done automatically during
syncdb but that's OK). Things work a bit better now but there's still
quite a few problems - images aren't loading properly for example.

It feels to me that whatever version of Pinax that I have installed
using pip isn't all that Production ready in 1.2.

I'm excited and hopeful to use it in the future. I think eventually
it'll be how I start every project, but right now I'm not confident
enough to use it.

On Jan 19, 10:55 pm, Derek <gamesb...@gmail.com> wrote:
> Jason
>
> I have been planning to use Pinax for a large social network site, but your
> comments make me concerned (and wondering if I should wait for a 1.0
> release).  I'd appreciate it if you could be a bit more specific about the
> issues you have encountered or know about.
>
> I assume that Django itself (being mature and stable) is not the problem.
> Given that Pinax is essentially just a bundle of third party apps, are the
> problems with:
>
> (a) one or more of the specific apps themselves?
>
> (b) the way that one or more of the apps interact?
>
> (c) only the sample data / demos?
>
> Also, the great strength of successful open source projects is the
> interaction between developers and community.  What has the response been
> when you have communicated these issues to them ... do they not care?  do
> they respond at all?
>
> Thanks
> Derek
>
> On 19 January 2011 18:46, Jason <goodri...@gmail.com> wrote:
>
> > I've found the current state of Pinax to be a bit hard to use.
>
> > Yes, it offers these 'ready-to-use' projects but they do not work out
> > of the box. There are CSRF problems, they don't load the initial
> > sample data properly, and sometimes they just don't load at all.
>
> > This is the case at least when I use the pip installation. (oh which
> > btw I flat out couldn't get to work period on Windows)
>
> > Overall it leaves me very worried about beginning a serious project in
> > Pinax. I'll definitely check back again with it at the official 0.9
> > release but for now I remain weary.
>
> > On Jan 18, 5:26 am, ashdesigner <antony.shash...@gmail.com> wrote:
> > > Guys, are there any considerable drawbacks of using Pinax for Django?
> > > Is it worth installing, or is it better to launch and develop on
> > > "pure" Django?
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Django users" group.
> > To post to this group, send email to django...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > django-users...@googlegroups.com<django-users%2Bunsu...@googlegroups.com>
> > .

Mike Ramirez

unread,
Jan 21, 2011, 12:25:52 PM1/21/11
to django...@googlegroups.com

On Friday, January 21, 2011 09:12:11 am Jason wrote:

> I manually import the data using -

> loaddata (I assumed this would have been done automatically during

> syncdb but that's OK).

syncdb[1] does not work this way. It's meant to do one thing and one thing only. Take new models and convert that to sql and create the tables in the db. It syncs the db with models structure. Syncdb does not change existing tables to update changes with models nor does it or should it load the test data.

To change models that already exist in db, either drop the table and rerun syncdb, do the update manually or use django-south.

Mike

[1] http://docs.djangoproject.com/en/dev/ref/django-admin/#syncdb

--

Expect a letter from a friend who will ask a favor of you.

Mike Ramirez

unread,
Jan 21, 2011, 12:29:49 PM1/21/11
to django...@googlegroups.com

On Friday, January 21, 2011 09:25:52 am Mike Ramirez wrote:

> nor does it or should it load the test data.

>

My mistake on this part, it does if the data is named initial_data.[xml|json] but this is a feature I don't use or see used often myself.

Mike

--

The more laws and order are made prominent, the more thieves and

robbers there will be.

-- Lao Tsu

Jason

unread,
Jan 21, 2011, 1:04:16 PM1/21/11
to Django users
Yeah, I've done it both ways for my projects. I just assumed that in
this case it would auto load data if they are calling it 'ready to
use'. Pretty minor complaint on my part really. And if after I loaded
the data everything worked fine, I wouldn't have brought it up in the
first place.

James Tauber

unread,
Jan 22, 2011, 6:03:15 PM1/22/11
to django...@googlegroups.com

At its most basic, Pinax is just a standard project layout for Django, taking advantage of virtualenv and pip.

While different starter projects have differing levels of maturity, there is no reason something like zero_project couldn't be used as the basis for almost any Django website. And if your site will have users who need to manage their accounts, chances are account_project is an appropriate starter project.

James

James Tauber

unread,
Jan 22, 2011, 6:08:47 PM1/22/11
to django...@googlegroups.com, antony....@gmail.com

On Jan 18, 2011, at 8:43 AM, Cal Leeming [Simplicity Media Ltd] wrote:

> I would be interested to hear from anyone who has used Pinax in production.

Pinax is used for every production site Eldarion develops on its own and most of the sites it develops for clients.

Admittedly many of the apps in social_project are not production ready (and we're in the process of rewriting some of them) the core things like zero_project and account_project are used on many sites in production.

James

James Tauber

unread,
Jan 22, 2011, 6:21:01 PM1/22/11
to django...@googlegroups.com

On Jan 18, 2011, at 9:32 AM, Russell Keith-Magee wrote:

> I think we need to clear up some misconceptions here.

[...]


> Pinax, on the other hand, works at a higher level. Pinax targets a
> specific domain -- social web apps

Actually, this is a major misconception. Pinax is not targeting a specific domain. And in fact, the social features are probably those features of Pinax least production-ready. Sites like eldarion.com, us.pycon.org, pinaxproject.com, gondor.io and quisition.com are all examples of Pinax that have nothing particularly "social" about them.


> So - you really don't have to make a "Pinax or Django" decision. Any
> app that can be installed in a Django site can also be installed in a
> Pinax site, and every Pinax site is a Django site.

Exactly.

> As for the original question -- are there any drawbacks? Well, not
> really. Pinax suggests a particular collection of apps, but you can
> use any other app you want in parallel. Pinax mandates a few standards
> for project layout and the like, but for the most part, they're just
> using the best practices commonly understood by experienced members of
> the Django community, but the Django project itself hasn't gone to the
> trouble of formalizing.

Yep. And it's important to note you can use Pinax *just* for this. The zero_project is appropriate for almost any kind of django site and, for the most common type of account management, account_project is a good starting point.

> About the only potential downside I can see is that If you're not
> building something in Pinax's sweet spot -- i.e., a social web site --
> you won't get all the benefits that Pinax has to offer. If you're
> building something *really* different, you might find that Pinax's
> conventions obstruct you in ways that a raw Django install wouldn't.
> However, for most "websitey" websites, this won't be an issue --
> Pinax's conventions are, for the most part, a bunch of practices that
> you should probably be following anyway -- Pinax just forces/provides
> the tools to help you to follow them :-)

The social stuff is in many ways Pinax's current weakness. It's the social stuff that hasn't been updated for our next release yet (although we're working towards it)

I was planning on doing this anyway, but this thread has encouraged me even more than I need to write some blog posts about things like Pinax's zero_project, static_project and account_project in the coming weeks.

James

Jason

unread,
Jan 22, 2011, 6:28:29 PM1/22/11
to Django users
Are there any gotchas when using the current 'pip' version Pinax using
the account_project in Django 1.2?

BTW James you're my Django hero. :P

Issac Kelly

unread,
Jan 22, 2011, 7:44:04 PM1/22/11
to Django users
On Jan 22, 6:28 pm, Jason <goodri...@gmail.com> wrote:
> Are there any gotchas when using the current 'pip' version Pinax using
> the account_project in Django 1.2?

The only "gotchas" that I've really had on Pinax dev are around social
features, namely group url routing. It was easy enough to work
around.

Building UP from account project is exactly what I do, several
production sites (all but two) of ours are done from exactly that.

Derek

unread,
Jan 24, 2011, 2:02:09 AM1/24/11
to Django users
James

I know that asking "when" for delivery of an open source project is
not usually a question that can be answered accurately, but would it
be possible for you to give at least a broad estimation of which of
the following is closest to a time-frame for the next release that
includes an updated-and-production-ready (foundational)
social_project:
a) next few weeks
b) next few months
c) maybe sometime in 2011

Thanks
Derek
Reply all
Reply to author
Forward
0 new messages