Django окружение

Немного о моем django-окружении

Для удобства все приложения проекта кладу в папку apps

Это привело к некоторым нюансам.

Создание приложения

cd apps
../manage.py startapp newapp

Подключение в settings.py

INSTALLED_APPS = [
    ...
    'apps.newapp',
    ...
]

Внутри приложения newapp есть файл apps.py, который в будущем будет мешать правильно подключать другие приложения.

Чтобы этого избежать делаю следующее:

  • Переименовывем файл apps.py в app.py
  • В файл __init__.py заносим строчку: default_app_config = "apps.newapp.app.NewappConfig"
  • Файл app.py должен выглядеть примерно так:
# -*- coding:utf-8 -*-
from __future__ import unicode_literals
from django.apps import AppConfig

class NewappConfig(AppConfig):
    name = 'apps.newapp' # Обрати внимание на полный путь к приложению
    verbose_name = u"Новое приложение" # Приятный бонус — русское название в админке