我正在寻找 Django 模型字段来渲染 HTML5 范围滑块,例如:
<input type="range" min="1" max="100" value="50">
这个问题接近于哪个 Django 表单字段可以为我提供 的 HTML 输出? 但它需要一个表单,我可以在其中搜索 Django Admin 的管理字段。
进一步的讨论还展示了如何在表单中使用 IntegerField 作为范围滑块: https://code.djangoproject.com/ticket/20674
长话短说,我可以在 Django Admin 中使用表单吗?或者是否已经有特定的范围字段?
您可以实现一个小部件,就像 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)