我正在使用web2py应用程序,因为我有一个要求,在我的第一页中,我必须创建一个web2py DIV()标记,显示它并将该值存储在数据库中。在第二页中,我必须获取此数据库值并将其添加到TABLE()函数中。
不是扔错误。但在第二页视图中,分区内容显示为XML,而不是显示为HTML。
因此,在我的HTML表格中,我得到的值为<div style="float:right">content</div>
我认为DIV()作为xml()存储在数据库中。如何将此xml()转换回DIV()。
答案 0 :(得分:2)
数据库正在存储原始HTML。但是,写入web2py视图的任何文本都会自动转义,因此HTML代码按字面显示而不是呈现为HTML。为避免这种情况,正如您所指出的那样,您只需将HTML包装在XML()
帮助器中即可。
但是要小心 - 你不应该用用户输入的输入来做这件事。恶意用户可能会输入Javascript代码,这可能会为查看该内容的其他用户创建一个安全漏洞(这就是为什么web2py会首先自动逃避所有内容)。为了更安全,您还可以XML(..., sanitize=True)
。
答案 1 :(得分:0)
我找到了解决方案。必须使用XML()。示例:XML(database_field)