我的模板非常简单。我想更改其大小。Converting between C# List and F# List
您该怎么做?通过在forms.py文件中添加小部件还是在模板中添加某个类?
我的模板:
<form method="POST">
{% csrf_token %}
<div class="form-row">
<div class="form-group col-md-12 mb-0">
{{ basic_form.choices_product|as_crispy_field }}
</div>
</div>
<button type="submit" class="btn btn-lg btn-block btn-danger">Wyszukaj <i class="fas fa-heart fa-lg"></i></button>
</form>
我一直在寻找互联网上的信息,但无济于事。任何帮助将不胜感激。
我使用的是Bootstrap 4,Django 2 +。
答案 0 :(得分:0)
评估模板时,在{{...}}之间指定的变量将被HTML DOM中的“ input”元素替换。您要使用Bootstrap 4类“ form-control-lg”或样式属性(例如“ line-height”)来渲染此“ input”元素,这将更改元素的高度。
crispy-forms允许您通过forms.py
完成所有操作具体来说,您可以使用crispy_forms.layout模块中的Layout类来更改使用明快表单呈现表单字段的方式。有关详细信息,请参见here(在crispy-forms文档中)。
在您的情况下,您需要(1)将FormHelper添加到您的表单中; (2)在您的助手中添加一个布局; (3)使用“字段”布局对象在任何字段上设置属性。
因此您可以像这样更改form.py:
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Field
from django import forms
class BasicForm(forms.Form):
[...] # Define your fields here
def__init__(self, *args, **kwargs):
# Add a FormHelper
self.helper = FormHelper()
# Add a layout to your helper
self.helper.layout = Layout(
# Use the Field layout object to set attributes on
# choices_product field. type="text" should be there by
# default if you have used a CharField or TextField.
Field(
'choices_product', css_class="form-control form-control-lg", id="exampleInputSize3", placeholder=".form-control-lg",
)
)
super(BasicForm, self).__init__(*args, **kwargs)