Add placeholder text to a web2py form

In order to add placeholder to the form fields you can do make following changes to the model files . Note, this will work with most field types.



Create new model file ( and add this code below.

def widget(**kwargs):

return lambda field, value, kwargs=kwargs: SQLFORM.widgets[field.type].widget(field, value, **kwargs)|


Add below code to your database fields.

widget=widget(_placeholder='File name (.w2p) or short description', _readonly=False)


Field('is_enabled', 'boolean', default=True, label=T('Enabled')),
Field('name', 'string', required=True,length=256, label=T('Name'),widget=widget(_placeholder='One-two word description', _readonly=False)),
Field('title', 'string', required=True, length=512, label=T('Title'),widget=widget(_placeholder='e.g. Database Abstraction layer ', _readonly=False)) ,
Field('subtitle', 'string', length=512, label=T('Subtitle'),widget=widget(_placeholder='File name (.w2p) or short description', _readonly=False)),
format='%(name)s' #' - ' '%(title)s






Sources / Reference

" Google Groups" by Anthony

Tag Cloud

accepted Acces Control access rights actions_disabled admin allowed_attributes allowed_schemes App apps args auth authentication B bar chart BEAUTIFY begin BODY BR carousel CAT CENTER chart check CLEANUP client request client_side CMS CODE COL COLGROUP comment compute contact form crud.create crud.delete crud.tables CRUD custom attributes custom form DAL data define_table deletable depriciated DIV doctype dot dspval EM embed64 enable_record_version end error_message example extension Field types Field FIELDSET file filename form.accepted form.accepts form.process form.validate FORM format Forms Grid H1 H2 H3 H4 H5 H6 hash_vars Hello helper helpers highchart hmac_key host hosting HTML image images inpval ip address ip IS_DATETIME IS_DATETIME_IN_RANGE IS_DECIMAL_IN_RANGE IS_EMPTY_OR IS_EQUAL_TO IS_EXPR IS_FLOAT_IN_RANGE IS_IMAGE IS_INT_IN_RANGE IS_IN_DB IS_IN_SET IS_IPV4 IS_LIST_OF IS_NOT_EMPTY IS_NOT_IN_DB IS_NULL_OR is_slug IS_STRONG IS_TIME IS_UPLOAD_FILENAME IS_UPPER IS_URL lable lambda lang lastdot linkto li_class li_first li_last login_methods maximum maxip maxlen MENU min minimum minip mobile mode module multiple permitted_tags pie chart placeholder plugin prepend_scheme pythonanywhere query rating reCaptcha redirect salt sanitize scheme services settings slug sortable special SQLFORM() SQLFORM.grid SQLFORM SSL submit table constructor TAG test text TinyWebsite ul_class update upper URL rewrite URL validator value vars Views widget XML xmlescape _class _common_fields

Powered by

Hosted on
(affiliated link)