gpt4 book ai didi

django - 将字段值传递给自定义 layout.Field

转载 作者:行者123 更新时间:2023-12-04 02:16:08 25 4
gpt4 key购买 nike

我正在定义一个自定义布局对象:

Field('slider', template="custom-slider.html")

documentation 中所示:

我的自定义 slider 是:

<div class="slider slider-green" data-prefix="&euro; " data-postfix=",-" data-min="0" data-max="1800" data-value="223"></div>

但我想对这些值进行参数化。我怎样才能做到这一点?使用 layout.Field 时如何将值传递给模板?如何从相关的表单域中获取最小/最大值?

slider = forms.IntegerField(label="slider", min_value=3, max_value=50)

如果我理解正确,custom-slider.html 是一个功能齐全的 django 模板。上下文是什么?它是否有权访问相关的表单字段?如何?我找不到示例。

最佳答案

field 上下文变量传递给包含 FormField 对象的模板。所以你应该能够做到这一点:

<div class="slider slider-green" data-prefix="&euro; " data-postfix=",-"
data-min="{{ field.field.min_value }}" data-max="{{ field.field.max_value }}"
data-value="{{ field.value }}"></div>

您必须执行 field.field 的原因是传递给模板的 field 是一个 BoundField对象,而不是您在表单类中定义的 IntegerField那个对象is stored in BoundField.field - 因此 field.field

BoundField 有一个 value()这就是 field.value 起作用的原因。

关于django - 将字段值传递给自定义 layout.Field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534495/

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