- A module with
urls.py
should declare anapp_name
. - A module with
urls.py
will have its URLs placed under/<app_name>/*
. - A module with
urls.py
should have a url namedindex
. A link toindex
will be generated in the NetDash navbar. - A module that generates a permission named
can_view_module
will only generate anindex
link in the NetDash navbar for users who have that permission. - A module with
api/urls.py
should declare anapp_name
. If the module also has aurls.py
, it should reuse the previousapp_name
like so:<app_name>-api
- A module with
api/urls.py
will have its API URLs placed under/api/<app_name>/*
. - Modules should include a
README.md
in their root that describes settings, package dependencies, and required integrations. - Required permissions of module views should be set in
urls.py
rather thanviews.py
. This allows for the extension of views without inheriting their required permissions.
Check the example apps for examples of these conventions.