实现intl tel输入的django表单小部件。
django-intl-tel-input2的Python项目详细描述
来自https://github.com/charly06/django-intl-tel-input的叉子 这是一个来自https://github.com/benmurden/django-intl-tel-input的叉子 一个基于jquery插件intl-tel-input的django表单小部件。
此版本仅用于将fork作为django-intl-tel-input2安装
这是一个新包,因此它没有实现 国际电话输入。然而,它在测试中是稳定的。
安装
从pypi安装。
pip install django-intl-tel-input2
将intl tel输入添加到已安装的应用程序中,以便django可以找到init 脚本
...INSTALLED_APPS+=('intl_tel_input',)...
用法
只需将IntlTelInputWidget添加到表单字段。它将添加一个可见的文本输入字段和一个隐藏的输入字段。
fromintl_tel_input.widgetsimportIntlTelInputWidgetclassMyForm(forms.ModelForm):classMeta:model=MyModelfields=['foo','bar']widgets={'bar':IntlTelInputWidget()}...
使用标准格式:
classMyForm(forms.Form):tel_number=forms.CharField(widget=IntlTelInputWidget(visible_input_attrs={'size':'30','class':'my-css-class',...},hidden_input_attrs={'class':'another-css-class',...}))...
两个参数visible_input_attrs和hidden_input_attrs可用于添加额外的html 属性分别指向可见文本输入字段和隐藏输入字段。
形成介质
如果您在文档末尾包含jquery,那么不要 忘记用 {{ form.media.js }}。把它放在一个能让它追上来的街区里 jQuery
如果在文档的头部加载jquery,就不必担心 这个步骤-小部件媒体将被插入到字段的后面。如果你 要在文档末尾保留所有js,您仍然可以使用 {{ form.media.js }}标签来实现这一点。但是,如果使用crispy-forms, 您需要设置include_media = False,以确保init.js 在jquery之后加载,从而避免js错误:
classMyForm(forms.Form):def__init__(self,*args,**kwargs):...self.helper=FormHelper()self.helper.include_media=False...
如果在表单中使用self.helper.include_media = False,则 必须将{{ form.media.css }}添加到模板中 加载intlTelInput.css时出现此小部件的位置。
如果需要在头中加载所有js,可以制作init.js脚本 等待文档准备好以下代码段。
jQuery(document).ready({{form.media.js}});
所有这些都假设表单上下文变量名为form。
选项
小部件可以用大多数关键字参数调用,这些参数转换为options 在jquery插件intl tel输入中可用。
- 允许下拉菜单
类型:Boolean默认值:True
示例用法:
classMyForm(forms.Form):tel_number=forms.CharField(widget=IntlTelInputWidget(allow_dropdown=False,))...
- 自动隐藏拨号代码
- 类型:Boolean默认值:True
- 自动占位符
- 类型:String默认值:"polite"
- 自定义占位符
- 此选项尚未实现。
- 下拉式容器
- 类型:String默认值:""
- 排除各国
类型:List默认值:[]
示例用法:
classMyForm(forms.Form):tel_number=forms.CharField(widget=IntlTelInputWidget(exclude_countries=['at','de','ch'],))...
- 格式化显示
- 类型:Boolean默认值:True
- 自动地理IP
类型:Boolean默认值:False
此选项表示geoiplookup。如果设置为True,则用户的位置为查找。 为了查找用户的位置,使用https://freegeoip.net/json/。
- 初始国家
- 类型:String默认值:""
- 全国模式
- 类型:Boolean默认值:True
- 占位符编号u类型
- 类型:String默认值:"MOBILE"
- 仅适用于欧盟国家
- 类型:List默认值:[]
- 首选国家
- 类型:List默认值:['us', 'gb']
- 单独拨号代码
- 类型:Boolean默认值:False