【问题标题】:Django bootstrap button widgetDjango 引导按钮小部件
【发布时间】:2012-09-13 01:14:28
【问题描述】:

有没有办法创建一个生成 twitter 引导按钮的小部件?我需要在表单中间放置一些按钮。 (或不是输入的html)

尝试如下:

class BootstrapButtonWidget(forms.Widget):
    def render(self, value, attrs=None):
        return '<a href="#" class="btn btn-danger delete">%s</a>' % (value,)


class BootstrapButton(forms.Field):
    def __init__(self, value,  *args, **kwargs):
        if not kwargs:
            kwargs = {}
        kwargs["widget"] = BootstrapButtonWidget

        super(BootstrapButton, self).__init__(*args, **kwargs)

    def clean(self, value):
        return value

但我无法传递值​​。他总是花一个“价值”。

我需要像这样渲染一个按钮:

<button type="button" class="btn %s">%s</button> % (btn_type, btn_text)

渲染:

<button type="button" class="btn btn-primary">Delete this</button>

http://twitter.github.com/bootstrap/base-css.html#buttons

【问题讨论】:

  • 为了满足这一点,将按钮呈现为 django Form 的一部分似乎不是一个好主意。 Form 字段的想法是它们采用一个值,它们必须对其进行验证,如果有效,则将其规范化为一致的格式。然而,按钮或多或少是一个不变的概念。他们确实将必须验证的值作为输入。换句话说,这可能会解决您在表单中间呈现按钮的问题,但从概念上讲,这似乎不是一个干净的解决方案。
  • 不确定脆皮表格是否可以做到这一点,但可能对您有用:github.com/maraujop/django-crispy-forms

标签: python django twitter-bootstrap django-widget


【解决方案1】:

我假设您的来源是引用 http://djangosnippets.org/snippets/2312/ 或您的自定义字段反之亦然。我错过了使用文档,但在文件顶部它指出:

"""
Usage:
SubmitButtonField(label="", initial=u"Your submit button text")
"""

如果您想要自定义值或样式,则必须更改传递给 BootstrapButton 字段的初始值。

【讨论】:

    猜你喜欢
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多