gpt4 book ai didi

django - 以django-crispy-forms创建控件行

转载 作者:行者123 更新时间:2023-12-04 13:41:01 28 4
gpt4 key购买 nike

我想使用django-crispy-forms在单个行上组合两个(或更多)窗口小部件。另请参见所附示例。我认为应该可以使用该库,尽管文档中确实包含有关此问题的示例,并且源代码也无济于事。那么有人使用django-crispy-forms设法获得了类似的结果吗?

此类表单所需的HTML如下所示:

<div class="control-group">
<label for="desc" class="control-label">
Description
</label>
<div class="controls controls-row">
<input class="span2" maxlength="255" type="text" id="desc">
<input class="span3" maxlength="255" type="text">
</div>
</div>

最佳答案

您可以通过在布局对象中的`def init (self,* args,** kwargs):中定义HTML对象来实现。该HTML将为您提供所需的所有自由。

也有另一种方式。要真正在模板文件夹中创建自己的模板,然后在布局对象中定义该模板的路径
例子:

Field('name', template='path/to/template/single_line_input.html'),

其中“名称”实际上是一个小部件。

当然,您总是可以尝试在应用程序的CSS文件中播放,例如 float: leftdisplay: inline可能会有所帮助,但是您必须在小部件上定义应内联显示的类。对于不熟悉前端CSS的人来说,这可能有点棘手(因为结果可能在不同的浏览器和不同的分辨率下各不相同,因此不必说需要进行一些测试)。
您遇到的问题主要是浏览器默认将输入字段呈现为块对象,因此即使宽度较小,它们也占用一行的所有空间。

关于django - 以django-crispy-forms创建控件行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14977157/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com