自行编写代码解决 WTForm 无纯 Button 按钮的问题——button篇

在WTForm中,由于其自带元素的局限性,我们需要自定义按钮元素。本文介绍如何实现`<button>`类型的按钮,通过分析WTForm源代码,找出不同元素类的特征,并提供具体的实现代码,以解决无纯`<button>`按钮的问题。同时,建议避免使用Jinja2模板引擎的默认渲染,改用手写HTML并配合CSS样式来达到理想效果。
摘要由CSDN通过智能技术生成

在上一篇,我们已经了解到 WTForm 自带的元素的局限性,所以通过自定义的方式实现了一个 <input type='button' /> 形式的按钮元素。在本篇中,我们就试着实现 <button type='button'>BUTTON</button> 形式的按钮。

之前的一篇里,我们所实现的按钮元素,其实与 WTForm 所提供的 SubmitField 没有本质上的区别,只是其 type 改变了,来源就是 WTForm 的源代码(simple.py文件)。而我们观察 WTForm 源代码的其他部分(core.py文件)发现,不光有一种实现形式,还有一种如下形式的元素类定义:

class Label(object):
    """
    An HTML form label.
    """
    def __init__(self, field_id, text):
        self.field_id = field_id
        self.text = text

    # ... 中略 ...

    def __call__(self, text=None, **kwargs):
        if 'for_' in kwargs:
            kwargs['for'] = kwargs.pop('for_')
        else:
            kwargs.setdefault('for', self.field_id)

        a
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值