Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 6, 2008 17:54:52

hildi
От:
Зарегистрирован: 2008-10-07
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Forms in Turbogears - дурацкое форматирование, где исправить?

Дорогие товарищи, я к вам опять со своими проблемами, спасайте :-)

Вот у меня есть виджет из стандартной поставки:

class TableFormDesc(widgets.WidgetsList):
name = "Table Form"
full_class_name = "turbogears.widgets.TableForm"
_id = TextField('ID')
_bestellnr = TextField('Bestellnr')
_typ = TextField('GF Typ')

и т. д.
На выходе из него получается форма:


Собсно, вопросы:
- почему перевирается сase? Где можно исправить, чтобы заголовки к полям назывались нормально “ID”, “GF Typ” и т. д., а не “первая - заглавная, а все остальные - строчные”?
- можно как-то заголовки выровнять по правому краю? А то позорище такое внатуре :-(
- ну и заодно настроить cellpadding и пр. свойства таблицы…

Наверное, на все вопросы есть один ответ, но я его пока не нашла :-(

Спасибо заранее!

апд.: cellpadding нашла, остальное все равно актуально :-/



Отредактировано (Ноя. 6, 2008 17:57:18)

Офлайн

#2 Ноя. 7, 2008 06:10:52

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Forms in Turbogears - дурацкое форматирование, где исправить?

hildi
- почему перевирается сase? Где можно исправить, чтобы заголовки к полям назывались нормально “ID”, “GF Typ” и т. д., а не “первая - заглавная, а все остальные - строчные”?
class TableFormDesc(widgets.WidgetsList):
name = "Table Form"
full_class_name = "turbogears.widgets.TableForm"
id = TextField(label='ID')
bestellnr = TextField(label='Bestellnr')
typ = TextField(label='GF Typ')
hildi
- можно как-то заголовки выровнять по правому краю? А то позорище такое внатуре :-(
- ну и заодно настроить cellpadding и пр. свойства таблицы…
Можете использовать css, все поля помечены классами, для формы можно передать класс через form_attrs. Можете использовать свой шаблон, передав его в форму:
my_form = Form(fields=TableFormDesc, template="ваш шаблон")
в шаблоне к полям поля можно обращаться по именам через field_for



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Ноя. 7, 2008 11:22:11

hildi
От:
Зарегистрирован: 2008-10-07
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Forms in Turbogears - дурацкое форматирование, где исправить?

Cпасибо, все получилось!

апд.
Не, ни фига не получилось. А как из контроллера обратиться теперь к этим полям?
Раньше я так делала (подозреваю, что неправильно, но тонкая философия ТГ мне не дается в упор :-))

@expose(template="team_ne.templates.save")
def save(self, **kw):
Session = sessionmaker()
session = Session()
newitem = Item()
newitem.iddqd = kw['ID']
newitem.bestellnr = kw['Bestellnr']
newitem.typ = kw['GF Typ']

и т. д.
А с указанием лейблов в качестве параметра TextField халява кончилась. Что делать?



Отредактировано (Ноя. 7, 2008 12:17:17)

Офлайн

#4 Ноя. 7, 2008 13:04:11

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Forms in Turbogears - дурацкое форматирование, где исправить?

hildi
А с указанием лейблов в качестве параметра TextField халява кончилась. Что делать?
а причем тут лейблы? поля вам будут доступны по именам:
   newitem.iddqd = kw['id']
newitem.bestellnr = kw['bestellnr']
newitem.typ = kw['typ']
Когда вы описываете поля через WidgetsList
class TableFormDesc(widgets.WidgetsList):
id = TextField(label='ID')
bestellnr = TextField(label='Bestellnr')
typ = TextField(label='GF Typ')
получаете немного магии, имена аттрибутов класса id, bestellnr, typ становятся еще и именами соответствующих полей.
если не верите поставте в методе контролера print kw
ЗЫ: думаю следующий ваш вопрос будет про @validate и @error_handler ;)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Ноя. 7, 2008 13:59:10

hildi
От:
Зарегистрирован: 2008-10-07
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Forms in Turbogears - дурацкое форматирование, где исправить?

Я верю! Тем более, что все действительно работает! :-)

PooH
думаю следующий ваш вопрос будет про @validate и @error_handler
Будет, но не следующий :-) Обработку ошибок я только что начала и еще не пришла в отчаяние :-)

А следующий вопрос будет такой: у меня получилась длиннющая форма ввода аж на 36 полей. Ее можно как-то разделить на две части, чтобы разместить их горизонтально? Или это надо делать две формы и вешать событие “submit” на общую кнопку? (интересно, это вообще возможно с готовым виджетом?)



Офлайн

#6 Ноя. 7, 2008 14:13:13

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Forms in Turbogears - дурацкое форматирование, где исправить?

hildi
А следующий вопрос будет такой: у меня получилась длиннющая форма ввода аж на 36 полей. Ее можно как-то разделить на две части, чтобы разместить их горизонтально? Или это надо делать две формы и вешать событие “submit” на общую кнопку? (интересно, это вообще возможно с готовым виджетом?)
Сделайте свой шаблон для этой формы.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version