在django crispy表单提交按钮中添加一个图标

时间:2017-03-27 09:23:14

标签: python django twitter-bootstrap-3 django-crispy-forms

我正在以脆弱的形式挣扎着巴顿。我希望在

中有一个图标,而不仅仅是默认按钮

我目前使用的表格就像

class MyForm(forms.ModelForm):

helper = FormHelper()
helper.layout = Layout(
    Div(
        Div(PrependedText('source_text', '<span class="fa fa-user"></span>'), css_class='col-md-6'),
        Div(PrependedText('destination_text','<span class="fa fa-flag-checkered"></span>'), css_class='col-md-6'),
        css_class='row-fluid'),
    Div(
        Div(PrependedText('departure', '<span class="fa fa-clock-o"></span>'), css_class='col-md-3'),
        Div('departure_delta', css_class='col-md-2'),
        Div(Submit('submit', "Neue Fahrt starten", css_class="btn"), css_class="col-md2"),
        css_class='row-fluid'),
)
helper.form_show_labels = False
helper.form_id = 'id_travelshare'

class Meta:

    model = MyModel
    fields = ['source', 'source_text', 'destination',
              'destination_text', 'departure', 'departure_delta']

    widgets = {
        'source': forms.HiddenInput(),
        'destination': forms.HiddenInput(),
        'departure' : forms.DateTimeInput(attrs={'class':'datetimepicker'}),
    }

我想要的是一个里面有图标的按钮。我没有找到这方面的例子。也许有人有一个。

亲切的注册

迈克尔

4 个答案:

答案 0 :(得分:1)

您可以在提交按钮中添加CSS类,然后为具有此类的按钮指定背景图像:

Submit('submit', "Neue Fahrt starten", css_class="btn icon-button")

# in your .css file:
.btn.icon-button {
    background-image: url(../../icons/button-arrow-right.png);
}

答案 1 :(得分:1)

这对我来说非常合适:

PrependedText('price', '<span class="fas fa-lira-sign"></span>')

这似乎是比较上述解决方案最简单的方法,也很值得:-)

答案 2 :(得分:0)

我可以使用普通链接并使用JS提交表单。现在看起来像:

<a href="#" class="btn btn-primary">
        <i class="fa fa-plus" aria-hidden="true"></i>
        Hinzufuegen
</a>

此致

迈克尔

答案 3 :(得分:0)

要执行此操作,很难使用内置的Submit布局项目。相反,最好只使用一般的layout.HTML项目,如下所示:

    self.helper.layout.append(
        layout.HTML('<button type="submit" class="btn btn-primary">'
                    '<span class="fas fa-plus"></span> Apply to change order'
                    '</button>'))