And additionally, note that your comment is a lambda function rather than a 
helper (no need to make it a lambda function).

On Friday, June 19, 2015 at 12:19:50 AM UTC-4, mweissen wrote:
>
> And:
>
> use
>
> table.customer.comment = A(_class="glyphicon glyphicon-plus-sign", 
> data={"toggle":"modal", "target":"#myModal"})
>
>
> or
>
> table.customer.comment = A(_class="glyphicon glyphicon-plus-sign", 
> **{"_data-toggle":"modal", "_data-target":"#myModal"})
>
>
> ​T
> ​he BOOK says:​
>
> Notice that helper attributes are passed as keyword arguments to the 
> helper. In some cases, however, attribute names include special characters 
> that are not allowed in Python identifiers (e.g., hyphens) and therefore 
> cannot be used as keyword argument names. For example:
>
> DIV('text', _data-role='collapsible')
>
> will not work because "_data-role" includes a hyphen, which will produce a 
> Python syntax error.
>
> In such cases you have a couple of options. You can use the data argument 
> (this time without a leading underscore) to pass a dictionary of related 
> attributes without their leading hyphen, and the output will have the 
> desired combinations e.g.
>
> >>> print DIV('text', data={'role': 'collapsible'})
> <div data-role="collapsible">text</div>
>
> or you can instead pass the attributes as a dictionary and make use of 
> Python's ** function arguments notation, which maps a dictionary of 
> (key:value) pairs into a set of keyword arguments:
>
> >>> print DIV('text', **{'_data-role': 'collapsible'})
> <div data-role="collapsible">text</div>
>
>
> Regards, Martin
>
> 2015-06-19 4:30 GMT+02:00 Anthony <[email protected]>:
>
>> Yes, the comment can be a helper, but yours is not a helper -- it is a 
>> lambda function, which is not allowed.
>>
>> Anthony
>>
>>
>> On Thursday, June 18, 2015 at 6:52:08 PM UTC-4, 黄祥 wrote:
>>>
>>> hi,
>>>
>>> is it possible to have DAL comment with HTML helper?
>>> *from book it said :*
>>> comment is a string (or a *helper *or something that can be serialized 
>>> to a string) that contains a comment associated with this field, and will 
>>> be displayed to the right of the input field in the autogenerated forms.
>>>
>>> *code*
>>> table.customer.comment = lambda customer, field: A(_class="glyphicon 
>>> glyphicon-plus-sign", _data-toggle="modal", _data-target="#myModal")
>>>
>>> *it return an error*
>>> Traceback 
>>>
>>> 1.
>>> 2.
>>> 3.
>>> 4.
>>> 5.
>>> 6.
>>> 7.
>>> 8.
>>> 9.
>>>
>>> Traceback (most recent call last):
>>>   File "C:\web2py\gluon\restricted.py", line 226, in restricted
>>>     ccode = compile2(code, layer)
>>>   File "C:\web2py\gluon\restricted.py", line 209, in compile2
>>>     return compile(code.rstrip().replace('\r\n', '\n') + '\n', layer, 
>>> 'exec')
>>>   File "C:/web2py/applications/delivery/models/db_wizard_6_sale_order.py" 
>>> <https://127.0.0.1/admin/default/edit/delivery/models/db_wizard_6_sale_order.py>,
>>>  line 38
>>>     table.customer.comment = lambda customer, field: A(_class="glyphicon 
>>> glyphicon-plus-sign", _data-toggle="modal", _data-target="#myModal")
>>> SyntaxError: keyword can't be an expression
>>>
>>>
>>>
>>> thanks and best regards,
>>> stifan
>>>
>>  -- 
>> 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 [email protected].
>> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to