Coding Style¶
General¶
Please follow these conventions while remaining sensible:
Code Like a Pythonista is recommended reading.
flake8 and isort are used to enforce basic coding standards. To run these checks, use:
$ make lint
URLs¶
List pages should use plurals; e.g.
/products/,/notifications/Detail pages should simply be a PK/slug on top of the list page; e.g.
/products/the-bible/,/notifications/1/Create pages should have ‘create’ as the final path segment; e.g.
/dashboard/notifications/create/URL names use dashes not underscores.
Update pages are sometimes the same as detail pages (i.e., when in the dashboard). In those cases, just use the detail convention, e.g.
/dashboard/notifications/3/. If there is a distinction between the detail page and the update page, use/dashboard/notifications/3/update/.Delete pages; e.g.,
/dashboard/notifications/3/delete/
View class names¶
Classes should be named according to:
'%s%sView' % (class_name, verb)
For example, ProductUpdateView, OfferCreateView and
PromotionDeleteView. This doesn’t fit all situations, but it’s a good basis.
Referencing managers¶
Use _default_manager rather than objects. This allows projects to
override the default manager to provide domain-specific behaviour.
HTML¶
Please indent with four spaces.