A Django "app" is just part of a project. A simple project must have at
least one app to contain the models, views and templates. More complex
projects would get unwieldy (code-wise) if you couldn't split them into
multiple apps. Think of these as multiple directories containing
separate sets of models, views templates - but which can connect to each
other by using the ordinary Python "import" mechanism.
Those multiple directories have names equal to the app names. So from
app.models import Classname becomes an easy way of simplifying your
project into multiple directories.. er apps.
In the settings, you need to name all the apps (dirs) in the project so
Django knows where to find all the models and so on.
If you know you will use a particular part of one project (an app - say
for inserting note records into a table) in another project you can
copy/paste and adjust the edge bits so it works in that other project.
On the other hand, if you are disciplined and careful you can use object
oriented programming techniques (and the Django docs) to write those
edge bits in a non-specific way so it can slot unchanged into other
projects which are expecting it. That app can be in multiple projects.
If you are really disciplined and part-guru you can make such apps
public for us lesser mortals to install and save us from re-inventing
that particular wheel. But that's another story :)
Cheers
Mike
>
>
> thanks,
>
> Thufir
>