--
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.
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
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 %-)
> > [...]
> > 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
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.
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
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
> 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
> 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