web2py ckeditor如何显示由ckeditor创建的富文本而不是html标记

web2py ckeditor如何显示由ckeditor创建的富文本而不是html标记,ckeditor,web2py,rich-text-editor,web2py-modules,Ckeditor,Web2py,Rich Text Editor,Web2py Modules,我正在使用web2py和ckeditor。我想用SQLFORM将富文本输入数据库。因此,我选择ckeditor作为字段小部件。我已经安装了ckeditor,下面是我的db.py: from plugin_ckeditor import CKEditor ckeditor = CKEditor(db) db.define_table("comtable", Field("com_name",label="name"), Field("com_prop

我正在使用web2py和ckeditor。我想用SQLFORM将富文本输入数据库。因此,我选择ckeditor作为字段小部件。我已经安装了ckeditor,下面是我的db.py:

from plugin_ckeditor import CKEditor
ckeditor = CKEditor(db)
db.define_table("comtable",
            Field("com_name",label="name"),
            Field("com_property",label="property",requires=IS_IN_SET(['A', 'B', 'C',"D"])),Field("com_detail",label="info",type="text",widget=ckeditor.widget))
下面是我的default.py/index:

def index():
    form=SQLFORM(db.comtable,fields = ['com_name',"com_property","com_detail"])
    gridform=SQLFORM.smartgrid(db.comtable)
    if form.process().accepted:
        response.flash="OK"
    return dict(form=form,gridform=gridform)
下面是my index.html:

{{=form}}
{{=gridform}}
在我使用ckeditor小部件将一些信息输入文本后,SQLFORM.smartgrid将显示以下记录:

当我点击“查看”按钮时,我得到以下信息:

我不想显示带有html标记的文本。我想得到富文本。有谁能告诉我我应该做什么,或者我需要选择另一个富文本编辑器吗


通过以下方法的帮助,您告诉我,当我单击“查看”按钮时,可以显示富文本。但是,当我单击“编辑”按钮时,会显示HTML标记代码。当我单击“编辑”按钮时,是否有任何方法显示富文本?多谢各位

默认情况下,将转义视图中包含的所有数据(出于安全目的)。要覆盖此选项,可以将内容包装到
XML()
helper中。要使此操作自动化,可以通过为相关字段指定
表示
属性来实现:

Field('com_detail', label='info', type='text', widget=ckeditor.widget,
      represent=lambda content, row: XML(content, sanitize=True))
represente
函数控制字段值在
SQLTABLE
SQLFORM.grid
、只读
SQLFORM
s中的显示方式,以及使用
行.render
方法时的显示方式


sanitize=True
选项限制允许的HTML标记和属性,以最小化在页面中包含用户提供的标记的安全风险。有关自定义允许的标记和属性的详细信息,请参阅。

非常感谢。它起作用了。你真是太好了,AnthonyHi,Anthony。根据上述方法,当我单击“查看”按钮时,可以显示富文本。但是,当我单击“编辑”按钮时,会显示HTML标记代码。当我单击“编辑”按钮时,是否有任何方法显示富文本?非常感谢你。