Folder Structure¶
Root Directory Structure¶
The root of your application contains the following items:
- app - Contains code related specifically to your application. See below for a detailed description of each sub-folder.
- ferris - Contains Ferris’ core code. Typically you won’t need to modify anything in here unless you’re updating Ferris.
- plugins - Contains re-usable components that you can use from your application. See Plugins for more information.
- packages - Contains 3rd party libraries (such as pytz, google apis, etc.). See Packages for more information.
- app.yaml - Normal App Engine configuration.
- settings.py - Global application (and plugin) configuration. You can load these settings by using the Settings API.
Application Directory Structure¶
The app folder contains the following items:
- models - Contains model modules.
- controllers - Contains controller modules.
- templates - Contains template files and macros used by Views.
- static - Contains static resources such as javascript, css, and images.
- tests - Contains any test specs.
- routes.py - Contains route and plugin configuration. You can enable plugins and change routing rules here. As most routing happens automatically, you’ll use this primarily to enable plugins.
- listeners.py - Contains event listeners for the global event bus. You can use this to set the applications theme and enforce application-wide security settings.