В чем разница между синтаксисом Django - PullRequest
0 голосов
/ 02 марта 2020

Привет, ребята, какая разница между этими двумя синтаксисами

'blog' и 'blog.apps.BlogConfig'

в проекте это находится в установленном приложении.

Я думаю, что они одинаковы, но между этими двумя командами должно быть различие, потому что они выглядят по-разному

первая - это

INSTALLED_APPS = [
    'blog',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

вторая -:

INSTALLED_APPS = [
    'blog.apps.BlogConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

]

1 Ответ

0 голосов
/ 02 марта 2020

Я предполагаю, что у вас есть пользовательская конфигурация (BlogConfig) для вашего приложения.

У вас есть как минимум два варианта регистрации приложения с пользовательской конфигурацией в настройках проекта (INSTALLED_APPS).

  1. (если) У вас есть переменная default_app_config = 'blog.apps.BlogConfig' в blog/__init__.py файле, тогда вставка blog в INSTALLED_APPS будет такой же, как blog.apps.BlogConfig. Если у вас его нет в __init__.py, BlogConfig не будет применяться в следующем примере.
INSTALLED_APPS = [
    ...,
    'blog',
     ...,
]
(если) В вашем приложении есть пустой __init__.py. Затем, чтобы применить пользовательскую конфигурацию, вы должны указать путь к конфигурации.
INSTALLED_APPS = [
    ...,
    'blog.apps.BlogConfig',
     ...,
]

с указанием только blog во втором примере будет работать без пользовательской конфигурации.

...