Я просто просмотрел альфа-выпускные заметки для Django 1.9 и увидел, что команда управления startapp
теперь добавляет apps.py.
Какова цель этого файла? документация startapp не предоставила больше информации.
Я просто просмотрел альфа-выпускные заметки для Django 1.9 и увидел, что команда управления startapp
теперь добавляет apps.py.
Какова цель этого файла? документация startapp не предоставила больше информации.
Назначение файла apps.py
:
Этот файл создан, чтобы помочь пользователю включить в приложение конфигурацию приложения для приложения. Используя это, вы можете настроить некоторые атрибуты приложения.
Из Application Configuration
документация:
Объекты конфигурации приложения хранят метаданные для приложения. Некоторые атрибуты могут быть настроены в подклассах AppConfig. Другие установленным Django и доступным только для чтения.
Пример из docs:
Предположим, что вы создаете подключаемое приложение под названием "Rock ’n’ roll"
, затем для предоставления правильного имени для администратора мы можем сделать следующее:
В приложении rock_n_roll
мы создаем класс RockNRollConfig
AppConfig.
#rock_n_roll/apps.py
from django.apps import AppConfig
class RockNRollConfig(AppConfig): # Our app config class
name = 'rock_n_roll'
verbose_name = "Rock ’n’ roll"
Мы можем заставить ваше приложение загружать этот подкласс AppConfig
по умолчанию, указав default_app_config
в файле rock_n_roll/__init__.py
.
# rock_n_roll/__init__.py
default_app_config = 'rock_n_roll.apps.RockNRollConfig'
Выполнение этого приведет к тому, что RockNRollConfig
будет использоваться, когда INSTALLED_APPS
просто содержит 'rock_n_roll'
. Это позволяет нам использовать функции AppConfig
, не требуя от наших пользователей обновления настроек INSTALLED_APPS
.
Это рекомендуемое место для размещения конфигурации . Эта функция существует здесь с версии 1.7, но для содействия ее использованию и упрощения конфигурации файл apps.py
был добавлен в шаблон приложения по умолчанию.
____ Turned invader Normal invader
/___/\_ __
_\ \/_/\__ _| |_
\/_/\ | | \ __ __\\ | _ _ | __\_\_\\\__ | || || | /_/\ __ __\_/_/\ _ | _ _ | _ _/___/__/__/__/|||| | | |||| _/_/\/_/|| _ || _/_/|| ||