2012-09-13 73 views
1

有什麼方法可以創建一個生成twitter引導按鈕的部件?我需要在窗體中間放一些按鈕。 (或HTML不在輸入)Django引導按鈕部件

試過如下:

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

+0

就我而言,這似乎不是一個好主意,呈現按鈕作爲Django的'表格'的一部分。 「Form」字段的想法是,他們需要一個值,他們必須驗證,如果有效,則將其標準化爲一致的格式。然而,按鈕或多或少是一個不變的概念。他們確實需要輸入一個他們必須驗證的值。 換句話說,這可能會解決您在表單中間渲染按鈕的問題,但從概念上講,這似乎並不是一個乾淨的解決方案。 – miki725

+0

不確定脆皮形式是否可以做到這一點,但可能對您有用:https://github.com/maraujop/django-crispy-forms – miki725

回答

0

我假設你源引用http://djangosnippets.org/snippets/2312/反之亦然爲您的自定義字段。我錯過了使用的文件,但在文件的頂部它指出:

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

如果你想有一個自定義值或樣式,你必須改變你通過BootstrapButton場初始值。