Переопределение шаблонов виджетов Django по умолчанию
Я хочу переопределить шаблоны виджетов Django (2.01), потому что мне нужно добавить классы для каждого ввода, метки и позиционировать их по-разному
app
 - templates
 - app 
    - django
       - forms
           - widgets
             - input.html
app
 - templates
   - django
      - forms
          - widgets
             - input.html
- каталог шаблона или проекта:
- templates
   - django
      - forms
          - widgets
             - input.html
ни один из них не работает (даже если я это, как рекомендуется в документах, и из ответа, который я видел на stackoverflow), он по-прежнему загружается по умолчанию.
будучи общими шаблонами виджетов, я предпочитая помещать их в каталог проекта шаблона, но из чего я Рид По умолчанию для поиска виджетов только в установленных приложениях.
1 ответов
похоже, это была проблема в Django 1.11.
это несколько раздражает. Это исправлено путем изменения настроек. Поэтому ваш сайт должен иметь эти параметры.
INSTALLED_APPS = [
    ...
    'django.forms',
    ...
]
FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'
к сожалению, вы не можете автоматизировать это одним из установленных приложений. Если установленное приложение переопределяет виджеты шаблонов django, его необходимо документировать и пользователи должны добавить этот код в настройках сайта.
вам не нужно ничего менять в настройках "шаблоны". Вот как выглядят мои шаблоны для справки.
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
 
            