【问题标题】:Display Django Field properties, such as min_value and max_value, in the Template在模板中显示 Django 字段属性,例如 min_value 和 max_value
【发布时间】:2020-03-16 18:32:37
【问题描述】:

我有一个带有 IntegerField 的 Django 表单。我给 IntegerField 一个 min_value 和一个 max_value。我想为用户显示那个 min_value 和 max_value,所以我试图将它包含在输入字段本身旁边的模板中。似乎这不应该那么难,但它不起作用。 :-(

下面,views.py 中的“打印”语句可以正常工作。所以我知道人们可以只用“.min_value”从字段中访问 min_value。但是模板中的 min_value 并没有显示在浏览器中。

有人想吗??

在forms.py中

class MyForm(forms.Form):
    somenumber = forms.IntegerField(min_value=0, max_value=12)

在views.py中:

form = forms.MyForm()
print(form.fields['somenumber'].min_value)
...
context = {'form':form}
...

在模板中:

{{ form.somenumber.min_value }}

【问题讨论】:

    标签: python django forms field


    【解决方案1】:

    当您访问form.field 时,您实际上并没有获得您在表单中定义的字段,而是获得了BoundField。你可以通过访问绑定字段的field属性来访问你定义的字段

    {{ form.somenumber.field.min_value }}
    

    【讨论】:

    • 哇哦。谢谢。我希望我在问宇宙之前没有花太多时间在这上面 :-) 谢谢你一百万。
    • 为清楚起见,需要在name字段后面加上.field。一开始我很困惑
    猜你喜欢
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 2021-11-06
    • 2014-06-10
    • 1970-01-01
    • 2021-05-08
    相关资源
    最近更新 更多