Is there a naming convention for Django apps Is there a naming convention for Django apps django django

Is there a naming convention for Django apps


They must be valid package names. That rules out 2 ("import my-django-app" would be a syntax error). PEP 8 says:

Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.

So, 1 and 3 are both valid, but 3 would be the recommended approach.


some good examples

  • graphene_django
  • users
  • orders
  • oauth2_provider
  • rest_framework
  • polls

in simple terms, app_name should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. also should have a short name and it can be a plural and singular name


App directory names must be a valid Python package name. This means that option 2 is completely inadmissible as a package name, although it can still be used for other purposes, such as documentation. In the end it comes down to personal style. If you prefer option 3 then use it.