Переопределение полей ProfileForm в Mezzanine

У меня есть профиль пользователя ManyToManyField, который по умолчанию отображается как множественный выбор. На странице профиля пользователя я хотел бы переопределить это с помощью поля TextInput, в которое я могу добавить автозаполнение jquery, но мне трудно понять, где это сделать в Mezzanine.

Тиа, Джоэл


person user568259    schedule 01.10.2014    source источник


Ответы (1)


Это вопрос Django больше, чем вопрос Mezzanine:

Виджеты — это то, что вам нужно настроить.

Вам понадобится определение формы, о котором вы не упомянули. В определении формы переопределите раздел виджета по умолчанию, как показано ниже. Вы также можете добавить определения классов и многое другое.

field_name = forms.CharField(widget=forms.TextInput(attrs={'style': 'display:block;','class': 'form-control'}),required=True)

Это также можно сделать после объявления:

field_name.widget = forms.TextInput()

Это также можно сделать в init в классе формы:

def __init__(self, *args, **kwargs):
    self.fields['field_name'].widget = forms.TextInput()

подробнее здесь: https://docs.djangoproject.com/en/1.7/ref/forms/widgets/

person Ben Havilland    schedule 10.10.2014