向 django crispy 表单提交按钮添加一个图标
add an icon to django crispy form submit button
我正在努力处理脆皮窗体上的按钮。除了默认按钮,我还想在里面有一个图标
我现在使用的表格是这样的
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'}),
}
我想要的是一个里面有图标的按钮。我没有找到这方面的例子。也许有人有。
亲切的回馈
迈克尔
您可以将 CSS class 添加到您的提交按钮,然后使用此 class:
为按钮指定背景图像
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);
}
我可以忍受一个普通的link并用JS提交表单。现在看起来像:
<a href="#" class="btn btn-primary">
<i class="fa fa-plus" aria-hidden="true"></i>
Hinzufuegen
</a>
此致
迈克尔
要做到这一点,很难使用内置的提交布局项。相反,最好只使用像这样的通用 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>'))
这对我来说非常有效:
PrependedText('price', '<span class="fas fa-lira-sign"></span>')
与上述同样有价值的解决方案相比,这似乎是最简单的方法:-)
您可以使用 StrictButton 创建按钮元素而不是输入并将类型设置为 'submit'。然后你可以把任何你想要的 html 放在按钮里面。
StrictButton('Neue Fahrt starten <i class="fa fa-pencil"></i>', type="submit", css_class="btn")
我正在努力处理脆皮窗体上的按钮。除了默认按钮,我还想在里面有一个图标
我现在使用的表格是这样的
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'}),
}
我想要的是一个里面有图标的按钮。我没有找到这方面的例子。也许有人有。
亲切的回馈
迈克尔
您可以将 CSS class 添加到您的提交按钮,然后使用此 class:
为按钮指定背景图像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);
}
我可以忍受一个普通的link并用JS提交表单。现在看起来像:
<a href="#" class="btn btn-primary">
<i class="fa fa-plus" aria-hidden="true"></i>
Hinzufuegen
</a>
此致
迈克尔
要做到这一点,很难使用内置的提交布局项。相反,最好只使用像这样的通用 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>'))
这对我来说非常有效:
PrependedText('price', '<span class="fas fa-lira-sign"></span>')
与上述同样有价值的解决方案相比,这似乎是最简单的方法:-)
您可以使用 StrictButton 创建按钮元素而不是输入并将类型设置为 'submit'。然后你可以把任何你想要的 html 放在按钮里面。
StrictButton('Neue Fahrt starten <i class="fa fa-pencil"></i>', type="submit", css_class="btn")