Портал Python-программистов

Форумы сайта python.su

Вы не зашли.

Объявление

Официальная wiki коммунити: wiki.python.su обсуждение

Официальная джаббер конференция коммунити: pythonua@conference.jabber.ru (всегда 20-35 онлайн участников). Настройки

КОД ОБОРАЧИВАТЬ В ТЕГИ [code][/code]
  • > TurboGears
  • > Forms in Turbogears - дурацкое форматирование, где исправить? [RSS Feed]

#1 2008-11-06 18:54:52

hildi
Питонер
Зарегистрирован: 2008-10-07
Сообщений: 64
Профиль

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')

    и т. д.

На выходе из него получается форма:
http://img230.imageshack.us/img230/7600/formsgm9.jpg

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

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

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

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

Отредактированно hildi (2008-11-06 18:57:18)

Неактивен

 

#2 2008-11-07 07:10:52

PooH
Питонер
Откуда: Барнаул
Зарегистрирован: 2006-12-05
Сообщений: 804
Профиль

Re: 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 2008-11-07 12:22:11

hildi
Питонер
Зарегистрирован: 2008-10-07
Сообщений: 64
Профиль

Re: 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 халява кончилась. Что делать?

Отредактированно hildi (2008-11-07 13:17:17)

Неактивен

 

#4 2008-11-07 14:04:11

PooH
Питонер
Откуда: Барнаул
Зарегистрирован: 2006-12-05
Сообщений: 804
Профиль

Re: 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 wink

Неактивен

 

#5 2008-11-07 14:59:10

hildi
Питонер
Зарегистрирован: 2008-10-07
Сообщений: 64
Профиль

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

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

PooH написал:

думаю следующий ваш вопрос будет про @validate и @error_handler

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

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

Неактивен

 

#6 2008-11-07 15:13:13

PooH
Питонер
Откуда: Барнаул
Зарегистрирован: 2006-12-05
Сообщений: 804
Профиль

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

hildi написал:

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

Сделайте свой шаблон для этой формы.

Неактивен

 
  • > TurboGears
  • Forms in Turbogears - дурацкое форматирование, где исправить? [RSS Feed]

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Board footer

Реклама: