我想使用radiobutton小部件生成带有radiobuttons的SQLFORM,如下所示(代码修剪):
db.define_table('tabA',
Field('name', 'string', length=16, required=True, unique=True, ),
Field('shape', 'string', length=8, default='star', widget=SQLFORM.widgets.radio.widget, requires=IS_IN_SET({'star' : '<img src="/myapp/static/images/shapes/star1.png" />'})))
我的问题是上面的图片代码被清理了,图片标签没有显示出来。我可以以某种方式关闭SQLFORM的清理吗?或者是否有一个不同的优雅解决方案?为简单起见,上面的代码仅显示了1个radiobutton项目,但项目是动态生成的。
答案 0 :(得分:3)
您可以使用以下两个选项之一替换'<img src="/myapp/static/images/shapes/star1.png" />'
:
XML('<img src="/myapp/static/images/shapes/star1.png" />')
IMG(_src='/myapp/static/images/shapes/star1.png')
此外,通常最好使用URL()函数生成传出的URL。通过该替换,上述两个选项将更改为:
XML('<img src="' + URL('static', 'images/shapes/star1.png') + '" />')
IMG(_src=URL('static', 'images/shapes/star1.png'))
有关详细信息,请参阅XML()和IMG helper上的在线图书主题。