html5 范围滑块的 Django 模型字段

问题描述 投票:0回答:1

我正在寻找 Django 模型字段来渲染 HTML5 范围滑块,例如:

<input type="range" min="1" max="100" value="50">

这个问题接近于哪个 Django 表单字段可以为我提供 的 HTML 输出? 但它需要一个表单,我可以在其中搜索 Django Admin 的管理字段。

进一步的讨论还展示了如何在表单中使用 IntegerField 作为范围滑块: https://code.djangoproject.com/ticket/20674

长话短说,我可以在 Django Admin 中使用表单吗?或者是否已经有特定的范围字段?

python django
1个回答
10
投票

您可以实现一个小部件,就像 Django 实现小部件一样。例如,

NumberInput
小部件[GitHub]看起来像:

class NumberInput(Input):
    input_type = 'number'
    template_name = 'django/forms/widgets/number.html'

我们可以自己做这件事,例如使用:

# app_name/widgets.py

from django.forms.widgets import NumberInput

class RangeInput(NumberInput):
    input_type = 'range'

然后您可以使用此小部件:

# app_name/forms.py

from app_name.widgets import RangeInput

class MyForm(forms.Form):
    myint = forms.IntegerField(widget=RangeInput)
© www.soinside.com 2019 - 2024. All rights reserved.