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

标签 django django-forms django-crispy-forms

我想使用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/

相关文章:

django - 运行 nginx 的 django 服务器上的大型媒体文件出现 403 错误

python - 创建没有多个查询的 Django 表单集

Django 模型引用 postgres 外部表 (clickhouse_fdw)

python - Django 要求定义 `model`,而它已经定义了

python - 如何在没有任何形式的情况下验证 Django 模型的构造函数参数?

python - save(commit=False) 抛出验证错误

django - Crispy Forms 和 Django 密码重置表单

python - 如何通过具有manytomany字段的Django表单编辑/更新模型?

json - 我应该如何从 bradjasper 的 django-jsonfield 升级到 Django 的内置 jsonfield?

Django CheckboxSelectMultiple 从 ModelForm 覆盖 'choices'