Pluggable application in PyCK¶
Pluggable apps are just like normal pyck (or pyramid) project with a few modifications. The advantage of pluggable apps is that they can be moved from one project to another (re-used) with minimal effort.
Creating a pluggable application¶
Once you have created your project and have executed:
python setup.py develop
A command for creating new sub-apps becomes available to you. Assuming your project is named myproj, the command would be:
myproj_newapp name_of_new_subapp
example:
myproj_newapp blog
Things to remember:¶
- You can have many sub applications and you can choose to enable/disable them. This is done by appending the subapp’s name in the enabled_apps list in {proj}/apps/__init__.py
- Routes for your sub-application are present in a function named application_routes within {proj}/apps/{subapp}/routes.py, for the above example, myproj/apps/blog/routes.py
- It is a good practice to prefix the routes of your sub-app with the sub-app name, this is already being done for the default routes created with the subapp.
- There is a populate_app function in your app’s scripts/populate.py script. This function will be called by the main project’s populate script to automatically add tables and records for the app to the project’s database