线性比例Django表单小部件

时间:2017-10-16 09:37:22

标签: django django-forms

我正在寻找一些指导,以便创建一个在django文档中根本没有记录的小部件,但它是表单的一个明显部分。 我正在谈论用于表单的Linear Scales小部件。使用户能够在1-100分之间的分数上进行选择

如果你对如何做到这一点有任何想法,我会很乐意得到它;)

非常感谢你

1 个答案:

答案 0 :(得分:0)

我猜你想要一个type="range"输入,你可以在这个MDN页面找到。

Django没有提供这种field开箱即用,您必须自己动手或找到实现它的库。

要实现字段,您应该查看字段API和输入API

# example input
from django.form.widgets import Input

class RangeInput(Input):
    input_type = 'range'
    template_name = 'path/to/input/template.html'

您还应该实现类型强制(到浮点数的int)和范围检查,以确保您可以验证表单并将其正确存储在数据库中。

完成后,您可以使用此输入创建表单,或为模型创建新的RangeField并将其链接到RangeInput元素。