如何将bootstrap datepicker与web2py的自定义形式集成?

时间:2013-12-06 11:05:50

标签: twitter-bootstrap web2py

我正在使用引导形式.... http://tarruda.github.io/bootstrap-datetimepicker/ 但是如何将它与web2py的自定义形式结合起来?

1 个答案:

答案 0 :(得分:1)

最佳选择可能是定义custom widget。没有经过测试,但是这样的事情:

def bootstrap_datetime(field, value):
    input = INPUT(_name=field.name, _type='text',
                  _id='%s_%s' % (field.tablename, field.name),
                  data=dict(format='dd/MM/yyyy hh:mm:ss'),
                  value=str(value) if value is not None else '',
                  requires=field.requires)
    return DIV(input,
               SPAN(I(data={'time-icon': 'icon-time',
                            'date-icon': 'icon-calendar'})),
               _class='input-append date')

db.define_table('mytable',
    Field('myfield', 'datetime', widget=bootstrap_datetime),
    ...)

然后在视图中,你可以这样做:

{{=form}}

要获取标准表单,或者如果要自定义布局,要显示日期时间窗口小部件,您可以这样做:

{{=form.custom.widget.myfield}}

您还需要在页面上加载datetimepicker模块,并包含以下内容:

<script type="text/javascript">
  $(function() {
    $('div.date').datetimepicker({
      language: 'en',
      pick12HourFormat: true
    });
  });
</script>