When to create a new app (with startapp) in Django?
The rule I follow is it should be a new app if I want to reuse the functionality in a different project.
If it needs deep understanding of the models in your project, it's probably more cohesive to stick it with the models.
I've googled around for this, but I still have trouble relating to what Django defines as "apps". 
Should I create a new app for each piece of functionality in a site, even though it uses models from the main project? 
Do you guys have good rule of thumb of when to split off a new app, and when to keep functionality together with the "main project" or other apps?