Also, I don't know what version of web2py you are running, but the current version now includes Bootstrap 3 classes in the default "ui" dict for the grid, and there are now "bootstrap3_stacked" and "bootstrap3_inline" formstyles. Of course, you may still need to customize if these defaults aren't sufficient, but the same is true with Bootstrap 2 or any CSS theme.
Anthony On Monday, November 24, 2014 12:58:05 PM UTC-5, Jim S wrote: > > For what it's worth, I have these modifications in my app to make > Bootstrap 3 work with SQLFORM.grid: > > In db.py: > > def my_formstyle(form, fields): > col_sm_label_size = 4 > col_md_label_size = 3 > form.add_class('form-horizontal col-sm-9 col-md-7 col-lg-5') > label_col_class = "col-sm-%d col-md-%d" % (col_sm_label_size, > col_md_label_size) > col_class = "col-sm-%d col-md-%d" % ((12 - col_sm_label_size), (12 - > col_md_label_size)) > offset_class = "col-sm-offset-%d col-md-offset-%s" % (col_sm_label_size, > col_md_label_size) > parent = CAT() > for id, label, controls, help in fields: > # wrappers > _help = SPAN(help, _class='help-block') > # embed _help into _controls > _controls = DIV(controls, _help, _class=col_class) > if isinstance(controls, INPUT): > if controls['_type'] == 'submit': > controls.add_class('btn btn-primary') > _controls = DIV(controls, _class="%s %s" % (col_class, > offset_class)) > if controls['_type'] == 'button': > controls.add_class('btn btn-default') > elif controls['_type'] == 'file': > controls.add_class('input-file') > elif controls['_type'] == 'text': > controls.add_class('form-control') > elif controls['_type'] == 'email': > controls.add_class('form-control') > elif controls['_type'] == 'password': > controls.add_class('form-control') > elif controls['_type'] == 'checkbox': > label['_for'] = None > label.insert(0, controls) > _controls = DIV(DIV(label, _help, _class="checkbox"), > _class="%s %s" % (offset_class, col_class)) > label = '' > elif isinstance(controls, SELECT): > controls.add_class('form-control') > elif isinstance(controls, TEXTAREA): > controls.add_class('form-control') > > elif isinstance(controls, SPAN): > _controls = P(controls.components, _class="form-control-static > %s" % col_class) > > if isinstance(label, LABEL): > label['_class'] = 'control-label %s' % label_col_class > > parent.append(DIV(label, _controls, _class='form-group', _id=id)) > return parent > > grid_ui = dict(widget='', > header='', > content='', > default='', > cornerall='', > cornertop='', > cornerbottom='', > button='btn btn-default button', > buttontext='buttontext button', > buttonadd='glyphicon glyphicon-plus space-after', > buttonback='glyphicon glyphicon-arrow-left space-after', > buttonexport='glyphicon glyphicon-download space-after', > buttondelete='glyphicon glyphicon-trash space-after', > buttonedit='glyphicon glyphicon-pencil space-after', > buttontable='glyphicon glyphicon-arrow-right space-after', > buttonview='glyphicon glyphicon-zoom-in space-after') > > > Then I pass along to my SQLFORM.grid calls like this: > > In my controllers: > > grid = SQLFORM.grid(query, fields=fields, orderby=orderby, > create=create, details=details, > editable=editable, deletable=deletable, > csv=False, search_widget=defaultSearch, > paginate=15, maxtextlength=45, > formstyle = my_formstyle, ui=grid_ui) > > > This works well with my site, you may need to tweak it to get your site > looking nice. By no means is this something that will work universally. > > -Jim > > > > On Mon, Nov 24, 2014 at 8:33 AM, Anthony <abasta...@gmail.com> wrote: > >> I think the relevant BS3 functionality is there. The only thing we don't >> have is a BS3 based scaffolding app, but if you're using a custom theme, >> the scaffolding app probably wouldn't help much anyway. >> >> Anthony >> >> >> On Monday, November 24, 2014 2:39:58 AM UTC-5, Tom Øyvind Hogstad wrote: >>> >>> No particular problem. More of a wondering what happened to this >>> "project". >>> >>> Since this is my first web2py project, never used Bootstrap, I also had >>> almost zero knowledge of Python, never really used PostgreSQL and my VPSes >>> have always been Centos, but I felt for Debian on my latest VPS. 200+ hours >>> later I need to set aside some time to refactor stuff :-) >>> Selling in projects without being proficient in any of the tech you >>> wan't to use, lead to loads of fun (And a bit on the low side considering >>> "real" hourly rate) :-) >>> >>> Mostly wan't to use BS3 trying to consolidate theming to BS3 for both >>> Web2py and Drupal work. >>> Going for reworking my app to BS3. >>> >>> Tom Ø. >>> >>> >>> >>> kl. 18:22:13 UTC+1 søndag 23. november 2014 skrev Anthony følgende: >>>> >>>> You can use web2py with Bootstrap 3 (or any front end framework). It >>>> even has built-in formstyles and grid classes for Bootstrap 3 (though even >>>> without those, you can add your own custom formstyles and grid classes). >>>> Is >>>> there a particular problem you are having? >>>> >>>> Anthony >>>> >>>> On Sunday, November 23, 2014 8:00:13 AM UTC-5, Tom Øyvind Hogstad wrote: >>>>> >>>>> What is the status of bootstrap3 now. >>>>> It was reverted in trunc and I just started a project at that time. >>>>> Started in bootstrap3, but I had not done much so I reverted to >>>>> bootstrap2. >>>>> Now I would like to go back/forward to bootstrap3 again before my >>>>> project gets any larger. >>>>> >>>>> Tom Ø. >>>>> >>>>> >>>>> >>>>> kl. 09:13:38 UTC+2 lørdag 9. august 2014 skrev Massimo Di Pierro >>>>> følgende: >>>>>> >>>>>> Bootstrap 3 is in trunk now. Please help us test it. >>>>>> Also help us test that existing apps are not broken. >>>>>> >>>>>> Massimo >>>>>> >>>>> -- >> Resources: >> - http://web2py.com >> - http://web2py.com/book (Documentation) >> - http://github.com/web2py/web2py (Source code) >> - https://code.google.com/p/web2py/issues/list (Report Issues) >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "web2py-users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/web2py/HWZ_4gyUSPo/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> web2py+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.