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.