Переопределение шаблонов виджетов 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',
],
},
},
]