第十二章 关系字段

所谓基础字段,即没有关联关系的字段,像我们常用的Char、Selection、Integer、Image等都属于基础字段类型的范畴。字段小部件(Fields Widget)被用于继承自基础视图(Basice View)的视图,因此,他们可以与基础模型(Basice Model)协同工作。

基础字段包含的对象

基础字段包含了多种我们常用的字段类型,具体列表如下:

    TranslatableFieldMixin: TranslatableFieldMixin,
    DebouncedField: DebouncedField,
    FieldEmail: FieldEmail,
    FieldBinaryFile: FieldBinaryFile,
    FieldPdfViewer: FieldPdfViewer,
    FieldBinaryImage: FieldBinaryImage,
    FieldBoolean: FieldBoolean,
    FieldBooleanButton: FieldBooleanButton,
    BooleanToggle: BooleanToggle,
    FieldChar: FieldChar,
    LinkButton: LinkButton,
    FieldDate: FieldDate,
    FieldDateTime: FieldDateTime,
    FieldDomain: FieldDomain,
    FieldFloat: FieldFloat,
    FieldFloatTime: FieldFloatTime,
    FieldFloatFactor: FieldFloatFactor,
    FieldFloatToggle: FieldFloatToggle,
    FieldPercentage : FieldPercentage,
    FieldInteger: FieldInteger,
    FieldMonetary: FieldMonetary,
    FieldPercentPie: FieldPercentPie,
    FieldPhone: FieldPhone,
    FieldProgressBar: FieldProgressBar,
    FieldText: FieldText,
    FieldToggleBoolean: FieldToggleBoolean,
    HandleWidget: HandleWidget,
    InputField: InputField,
    NumericField: NumericField,
    AttachmentImage: AttachmentImage,
    LabelSelection: LabelSelection,
    StateSelectionWidget: StateSelectionWidget,
    FavoriteWidget: FavoriteWidget,
    PriorityWidget: PriorityWidget,
    StatInfo: StatInfo,
    UrlWidget: UrlWidget,
    TextCopyClipboard: TextCopyClipboard,
    CharCopyClipboard: CharCopyClipboard,
    JournalDashboardGraph: JournalDashboardGraph,
    AceEditor: AceEditor,

上面的列表只是定义层面上的类型,并不能在实际的视图中直接使用。想要使用的话需要先通过字段注册中心(Field Registry)注册以后才可以使用。

常见的字段类型及其特点

下面我们来列举常见的字段类型及其特点。

FieldBinaryImage

FieldBinaryImage在注册中心时的注册名称为image,也就是我们在xml视图中使用到的image小部件, 其使用的视图模版为FieldBinaryImage。

我们知道视图的显示是使用的base64编码,实际上,在_render方法中,FieldBinaryImage会先判断传进来的是否是二进制的代码,如果是二进制代码则使用URL的方式进行显示,否则则分析base64编码,使用base64的方式进行显示。

FieldBinaryImage支持的base64格式有:

  • jpg
  • gif
  • png
  • svg+xml

FieldBinaryImage会使用一个叫做file_type_magic_word的字典,匹配传入值的第一个字节,猜测图片的格式。

file_type_magic_word:

{
    '/': 'jpg',
    'R': 'gif',
    'i': 'png',
    'P': 'svg+xml',
}

图片在渲染的时候,实际调用的是FieldBinaryImage-img模版。同时可以通过options属性传入可选的属性。

  • size: (width,height)图片的大小
  • preview_image: 预览图片的字段
  • zoom: 是否启用缩放功能
  • background: 背景图片
  • tag:标签
  • zoomDelay: 延迟缩放的时间

13.0版本以后,FieldBinaryImage新增了图片缩放的功能,其放大实际展示的是image_1920的字段。

results matching ""

    No results matching ""