2024-04-29 05:42:20 发布
网友
标题可能有点混乱,但请让我解释一下:
当前,当我存储带有原始数字的电话号码时,例如5554441234。然后在我的模板中,我将把这个数字“格式化”成类似555-444-1234的格式。
5554441234
555-444-1234
我意识到在Django的^{}中,有一个US phone number field可以检查字符串是否是XXX-XXX-XXXX格式。
XXX-XXX-XXXX
所以我的问题是,我是应该将电话号码输入为原始数字,然后在模板中格式化,还是应该使用localflavor以格式化的方式输入电话号码?
如果我选择后者,那么XXX-XXX-XXXX格式限制是应用于^{}级别还是Django管理页面?
试试Django phoneno。字段。它可以在Python网站上找到。您需要使用 pip install django phonenumber字段
https://pypi.python.org/pypi/django-phonenumber-field/0.2a3
如果您使用的是forms框架(例如,在Django管理中),则将在应用程序级别验证输入。因此,要在表单中输入电话号码,必须将其格式化为XXX-XXX-XXXX。
在数据库级别上,它只是一个CharField,所以数据库不检查格式。
CharField
按输入的方式存储,如有必要,只在空白处加条。用户格式化其数字的方式存储语义信息,通过规范化这些信息,您不希望丢失语义信息。在美国,格式XXX-XXX-XXXX非常常见,但其他地区使用完全不同的格式。例如,在我居住的地方,一些常见的格式是:XX-XXX XXX XX,XXX/XXX XX XX,+46(0)70-XXX XX XX等等。
XX-XXX XXX XX
XXX/XXX XX XX
+46(0)70-XXX XX XX
显示给用户的数字格式应与输入的格式相同,否则他或她会认为该数字已被篡改,或者如果该数字的格式与用户习惯的格式不同,他或她甚至可能无法识别该数字。另请参见此讨论:http://discuss.fogcreek.com/dotnetquestions/default.asp?cmd=show&ixPost=6079&ixReplies=6
试试Django phoneno。字段。它可以在Python网站上找到。您需要使用 pip install django phonenumber字段
https://pypi.python.org/pypi/django-phonenumber-field/0.2a3
如果您使用的是forms框架(例如,在Django管理中),则将在应用程序级别验证输入。因此,要在表单中输入电话号码,必须将其格式化为
XXX-XXX-XXXX
。在数据库级别上,它只是一个
CharField
,所以数据库不检查格式。按输入的方式存储,如有必要,只在空白处加条。用户格式化其数字的方式存储语义信息,通过规范化这些信息,您不希望丢失语义信息。在美国,格式
XXX-XXX-XXXX
非常常见,但其他地区使用完全不同的格式。例如,在我居住的地方,一些常见的格式是:XX-XXX XXX XX
,XXX/XXX XX XX
,+46(0)70-XXX XX XX
等等。显示给用户的数字格式应与输入的格式相同,否则他或她会认为该数字已被篡改,或者如果该数字的格式与用户习惯的格式不同,他或她甚至可能无法识别该数字。另请参见此讨论:http://discuss.fogcreek.com/dotnetquestions/default.asp?cmd=show&ixPost=6079&ixReplies=6
相关问题 更多 >
编程相关推荐