Найти - Пользователи
Полная версия: Нестандартная форма для админки
Начало » Django » Нестандартная форма для админки
1 2
Uznick
Дефолтная форма даты мне не подходит, и нужно сделать свою (пример).

Долго бегал по гуглу, но ничего путного на эту тему не нашёл, изредка попадается такой же страждущий народ, но никакого чёткого решения нет.

Были мысли лезть в код db\models\fields\__init__.py и пробовать сделать Field для админки по образу и подобию готовых полей оттуда, но знаний пока не хватает.

Есть какой-нибудь способ решить эту проблему безболезненно?
Igorek
Написать свой field и работать с ним.
Uznick
Пытаюсь методом разобраться с тем как работают встроенные field'ы, пока безуспешно.
Uznick
Новое поле я создать более-менее осилил (вот код). В модели пока описан просто: text = GDDDateField('Тест')
Вот только теперь проблема в том, как получить через POST значения полей, правильно обработать и записать в базу.

Из мануала я вычитал, что нужно создать manipulator, я правильно понял? Для встроенных field'ов это делается средствами django.db.models.field, если я не ошибаюсь. Вот только как это распространить на мой кастомный филд? Я как вообще они работают. Из имеющегося в официальной документации примера я не понял как их применить.

Или может я вообще не в ту сторону копаю?
Александр Кошелев
Uznick
Или может я вообще не в ту сторону копаю?
копай в сторону исходников django и делать по аналогии
Uznick
Я исходники и изучаю и по аналогии создал просто field.
Вот только как оттуда выдрать сохранение поля я пока не понял
Maximbo
Uznick
Я исходники и изучаю и по аналогии создал просто field.
Вот только как оттуда выдрать сохранение поля я пока не понял
Реализовав метод clean()
Uznick
Так метод clean() для newforms нужен.

А в стабильном релизе в админке oldforms используется.

Или я не прав?
Maximbo
Насколько я понимаю, с БД работает как раз манипулятор. Задача field – сконвертировать данные из html в python. Этим в классах, производных от FormField занимается статический метод html2python, принимающий единственным аргументом сырые данные поля формы и возвращающий их python-представление.

IMO, не логично сейчас писать что-либо на oldforms, потому как даже админка активно переписывается на новых формах, да и весь Django стремительно развивается. Сто пудов, работу придётся делать дважды.
Uznick
А нет никаких проблем с использованием newforms-полей в админке, которая на oldforms работает в 0.96?

Я сейчас попробовал накатить newforms-admin trunc из svn, но там какие-то баги полезли на тему Page not found at /admin/. На него рано переходить полностью, видимо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB