我正在使用django.contrib.localflavor.forms中的USSocialSecurityNumberField并启用了PasswordInput小部件。
ssn = USSocialSecurityNumberField(label='SSN',
required=False,
widget=forms.PasswordInput(render_value=False))
我最初使用jQuery掩盖了该字段:
$('#ssn').mask('999-99-9999');
这并不像我想的那样有效,因为每个角色,包括面具' _'和' - '带有密码占位符字符的字符。这使得掩码看起来像SSN字段已经填充,并且不会帮助用户使用' - '占位符。是否有内置的解决方案?
答案 0 :(得分:1)
我认为您可以使用django-input-mask
包来实现此目的。您可以使用pip
安装它。
pip install django-input-mask
您还需要将input_mask
添加到INSTALLED_APPS
设置。
要实现您要执行的操作,您必须创建自定义小部件。
from input_mask.widgets import InputMask
class SSNInput(InputMask):
mask = {'mask': '999-99-9999'}
class YourForm(forms.ModelForm):
ssn_field = SSNInput()
有关更多文档,您可以看到github page