实现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_attrshidden_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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Spring Boot 2.2.0中添加弹性搜索?   jakarta ee如何在没有java认证的情况下停止直接访问网页(自定义标记)   java Hibernate:使用executeUpdate()的批删除未清除一级缓存   java如何在Hibernate中插入外键定义为Long的实体?   带参数的java Mockito单元测试计算器方法   java如何从Rally Rest API读取集合属性   java如何对基于消息的处理执行集成测试?   带插入排序的java排序字符串数组标记,双链表   java为什么在基于注释的Spring app@Value默认值中解析为null?   java Apache Commons Http客户端注册特定于客户端的协议   如何使用java反转字符串中n个部分的n个字符   java Tomcat在本地主机上运行良好,但在部署时出现内部服务器错误   使用信号量的变量的java结果   Java编译/运行时类路径问题   java哪个提供商负责AES/CTR/NOP添加?   伪错误解码器中的java响应未获取Zalando问题自定义属性