2 回答

TA貢獻1817條經驗 獲得超14個贊
Django不會自己格式化數(shù)字。但是,您可以構建自己的函數(shù)來執(zhí)行此操作??紤]使用(鏈接)。在 models.py 中為此創(chuàng)建另一個函數(shù):python-phonenumbers
import phonenumbers
class Cards:
phone = models.CharField(max_length=12, null=True)
.....
def formatted_phone_number(self, country=None):
rtval = phonenumbers.parse(self.phone, country)
return rtval
然后在您的:template
{{ card.formatted_phone_number }}
注意:不能直接從模板傳遞參數(shù)。因此,該函數(shù)必須事先知道您將使用哪種國家/地區(qū)格式。

TA貢獻1812條經驗 獲得超5個贊
您可以編寫此幫助程序函數(shù):
def insert_str(string, str_to_insert, index):
return string[:index] + str_to_insert + string[index:]
,然后使用它來在需要時插入字符。如果括號的位置是固定的(每個電話號碼都相同,如您提供的示例所示),那么您可以簡單地執(zhí)行以下操作:
phone = insert_str(phone, '(', 1)
phone = insert_str(phone, '(', 5) # there's already an extra '('
phone = insert_str(phone, ' ', 6)
phone = insert_str(phone, '-', 10)
添加回答
舉報