Django-Pinax : How do you use a pinax app apart from what you get with a pinax base project?
Asked Answered
M

5

16

I am trying to understand Pinax and plan to use it in my next project.

I have started with a pinax basic project, and now I have something to go with runserver.

Now, I understand that I can customize the initial setup that I got from pinax and customize the profiles, themes, etc as per my requirements.

But is that all that pinax provides ?

I am very confused here, like I want to use the pinax phileo app in my project, so how does pinax helps me do that ?

My Effort :

  • I searched and found that I have to install it with pip install phileo
  • Then, add it to INSTALLED_APPS and use it as required.

But what did pinax do in this ?

Pinax has phileo featured on its website, but why ? Since I could have used it just like any other app on my non-pinax django project.

So, my question in a nutshell is :

What does pinax provide after a base project and default templates that come with pinax ?

Right, now it feels like pinax just provides a base project with some apps already working with some default templates. [ That's it ? ]

Then, what about other apps featured on pinax's website that do not come with base projects ?

Please, help clear up the confusion !

Update My question is somewhat - What is the significance of pinax-ecosystem when we already have them listed somewhere like djangopackages.com ?

Maricruzmaridel answered 13/5, 2012 at 4:26 Comment(7)
I think the ultimate goal of pinax project is not achieved yet, If I haven't mistaken pinax project still considers itself as a alpha or beta state projectAutumnautumnal
I don't think marks itself as in alpha / beta. Though I see a lot of potential on pinax road-map and it feels awesome though incomplete.Maricruzmaridel
a lot of the apps in the ecosystem aren't used in starter projects because we just haven't gotten around to writing the starter projects yet. people are welcome to contribute new starter projects to demo how the apps can work together.Amagasaki
Sir @JamesTauber [ Creater of Pinax ], please enlighten us with a detailed answer taking up all the points raised, we certainly want to hear it from you !Maricruzmaridel
@JamesTauber Sir, also when will Pinax be supporting Django 1.4 ?Maricruzmaridel
Pinax already does support Django 1.4 and, in case the latest (pinax-project-zero, pinax-project-account, django-user-accounts) require itAmagasaki
It looks the latest release 0.9a2 was authored 6 months ago, so was pinax supporting Django 1.4 since then ?Maricruzmaridel
A
10

You seem to be assuming that unless all of Pinax is useful, Pinax as a project isn't useful. It was never the intention that Pinax be a single thing, all of which you use on a given project.

If all you find helpful is the project layout, that's fine. Pinax suggests a standard project layout (which you can use alone with pinax-project-zero).

If all you find helpful is the pinax-project-account (django-user-accounts and a few other things, already integrated with templates following bootstrap class naming) as a starting point for you site, that's great. Pinax is fundamentally about getting you started sooner and pinax-project-account is a suitable starting point for most sites with user accounts.

Once you have a project, you are free to add any Django apps you want. There's nothing that requires you to use Pinax apps. "So", you ask, "why does Pinax even bother having apps?".

Well, because apps aren't isolated. Reusability isn't just at the level of app but also groups of apps. Take, for example, a waiting list app, an invitations app, a referral code app, a points app, a badges app. Sure these can be developed and used independently.

But if they are developed with the same mind set you can make sure the waiting list app and invitations app and referral code app work well with the user account app (and don't duplicate anything). You can make sure the referral code app plays nicely with the points app and the points app plays nicely with the badges app. You can make sure your forum app doesn't try to do something your moderation app already provides. Or that each app isn't trying to solve avatars its own way.

So Pinax isn't trying to be a "directory" of apps. It's a family of apps, themes and starter projects written with each other in mind.

Amagasaki answered 6/6, 2012 at 5:54 Comment(3)
Sir, You covered everything very well. I love pinax for what it provides, just wanted to clear up what to expect out of it. The concept is Family of apps really clears everything up. They don't step on each other's foot ! Great learning experience.. since you see many people were wondering about this confusion, please consider adding 'How should 1 perceive pinax?' on the official site.Maricruzmaridel
I should also note that many ideas were pioneered or promoted by Pinax before taking off in the larger Django community: staticfiles, timezones, use of pip and virtualenv, github, project templates. I hope that Pinax contributes to Django in general even if people don't use Pinax directly.Amagasaki
Ya.. I saw your talk on DjangoCon 2011 :) You talked about this !Maricruzmaridel
O
5

Pinax is just django with a blend of other django plugins. You have to enable them and set them up individually. To use each individual app within pinax, you have to read that specific app's documentation and set it up appropriately (list of apps and repos which likely contain documentation here: http://pinaxproject.com/ecosystem/)

Some people like pinax but I find that its more of a hassel than a solution. In the end pinax doesn't work out of the box. You have to customize everything, but at the same time you position yourself into using a bundle you dont need. I suggest instead starting a project and installing the packages you need individually, and even finding more here: http://djangopackages.com/. Especially, if its a big project because then if you bundle/setup everything on your own you will know the ins and outs of it all.

Octahedron answered 13/5, 2012 at 4:34 Comment(6)
Hm.. my question is somewhat - What is the significance of pinax-ecosystem when we already have them listed somewhere like djangopackages.com ?Maricruzmaridel
Sorry, I couldn't figure that out myself when I tried it. I guess for small projects not really requiring much customization, it could be a quick solution out of the box (user registration already implemented, built on top of twitter bootstrap, etc). But for large projects, I personally couldn't find any benefit to using it over installing the packages myself individually. I may be wrong, and there may be something I am missing.Octahedron
Hey, you are stuck at the same question, which I have asked here. Lets wait for someone or play a bounty on this.Maricruzmaridel
I have offered bounty for this confusion, see you can find some help !Maricruzmaridel
@Octahedron Pinax can be of benefit just in terms of a standard project layout. If you have user accounts, starting with pinax-project-account can help a lot even if you don't add any other apps written by the Pinax community itselfAmagasaki
I guess my experience with it wasn't so. I feel like pinax is only useful if you are trying to put up a site in one day. If you want to develop a full on application, customizing and fixing pinax for your needs will be way more of a headache than it'd help. Oh did I mention pinax has nearly 0 documentation (besides starting an app)? One may argue that you have to read each individual app's documentation, but the pinax could have offered some level of documentation to get the users familiar with the ecosystem. All these things make me conclude: stay away from it.Octahedron
L
3

The problem that pinax solves is that it avoids you hunting around for the best app that does something, as pinax bundles it together for you.

So if you want to get something up and running quickly, pinax makes that easy. For example, it is - by far - the quickest way to get a django project going with twitter bootstrap + other common plugins.

Letendre answered 13/5, 2012 at 12:24 Comment(2)
Hm.. my question is somewhat - What is the significance of pinax-ecosystem when we already have them listed somewhere like djangopackages.com ?Maricruzmaridel
@YugalJindle listing is not the same as creating. Pinax is an effort to create apps, not just list them.Amagasaki
S
3

The benefit is simply this - when starting a new site, Pinax gives you a bit of a head start compared to an empty Django project.

Consider this: You're starting a new site that will need user account management (including email confirmation, user profiles, password reset, etc.), and notifications.

With Pinax, you can get this functionality in a few commands:

$ mkvirtualenv mysite
$ pip install pinax
$ pinax-admin setup_project -b basic mysite
$ python manage.py syncdb
$ python manage.py runserver

You now have:

  1. Pretty much all you need for user management
  2. All that stuff you always add to settings.py like PROJECT_ROOT
  3. 'About' Urls - (about / terms / privacy / DMCA / What's Next)
  4. Django Debug Toolbar
  5. i18n already set up.
  6. Static files with compression when in production
  7. A default theme (using Bootstrap)
  8. A whole bunch of other stuff

From there, you can add apps and build / customize templates just as you would for any Django project. The difference is that you've just saved yourself a few hours of installing and configuring apps.

Regarding themes, they're trying to promote the idea of a theme as an app containing nothing more than static files. Take a look at the repo for the default theme to see how this works (it's basically just an app with static files and templates).

If you're a hobbyist building a single site which is your own project, don't bother with Pinax.

If you're a developer who is continually building new sites from scratch, Pinax may be your friend.

Sarabia answered 24/5, 2012 at 13:50 Comment(3)
Well.. I know all that you said, you left over exactly where the question starts. I asked what after once you are started with the base project !!Maricruzmaridel
What would you do when starting a non-Pinax Django project? This IS what Pinax does, what you do after that is up to you.Sarabia
Pinax talks about an ecosystem of apps, which are 3rd party apps. Now, only some of these apps are used in the startup project, but not all. So, how are the other apps useful w.r.t Pinax ?Maricruzmaridel
A
1

Pinax 0.7 was bundled with some apps and starter projects like social_projects which could be used for building a site more quickly, but I things changed in pinax 0.9.

I think pinax has reinvented its structure for some reasons (eg,In pinax 0.7 some people were complaining that it was messy to customize starter projects or to use only subset of certain starter projects so could pinax 0.9 provides more flexibility).

Some of the apps included in a pinax website are somehow coupled with each other so that it is easier to deploy them together,sometimes all you have to do is just installing them and the apps will communicate with each other.

Autumnautumnal answered 21/5, 2012 at 21:14 Comment(1)
Please provide some sample code / reference. I want to realize the benefits of pinax post a starter project !Maricruzmaridel

© 2022 - 2024 — McMap. All rights reserved.