Backend coding style

The django coding style is the basis for this styleguide. Some sections dive a bit deeper or put extra emphasis.

Imports

In short: use isort to check your import ordering. The config file is in setup.cfg.

Order and group your imports

  • Use relative imports for your django app

  • Ordering:
    • future

    • standard libraries

    • Django components

    • third party libraries

    • project imports

    • local (app) imports

Example:

from __future__ import absolute_import, unicode_literals

import datetime
from datetime import timedelta

import django.contrib.admin

import bptl.other_app.models

from .models import SomeModel

Naming

  • Use plural form for apps. E.g.: accounts, not account.

  • Use singular form for model, view and form class

Example:

from bptl.accounts.models import Account

class Idea(models.Model):
    pass

class IdeaForm(forms.ModelForm):
    pass

class IdeaDetailView(views.DetailView):
    pass