Telefon numaralarının biçimlendirmesi değişmezse, telefon numarasını biçimlendirmek için kendi işlevinizi yazabilirsiniz (bkz. this). Daha iyi bir yaklaşım, sizin için python-phonenumbers
gibi bir 3. parti kütüphanesi kullanmak olacaktır. telefonu numarasını biçimlendirmek için şablonda (eşzamanlı veya)
# We can't pass parameters from the template so we have to hope that python-phonenumbers guesses correctly
{{ business.formatted_phone }}
Alternatifwrite a custom template filter yılında
import phonenumbers
class Business(models.Model):
phone = ...
def formatted_phone(self, country=None):
return phonenumbers.parse(self.phone, country)
: kolay yaklaşım böyle bir şey yapmaktır.
import phonenumbers
@register.filter(name='phonenumber')
def phonenumber(value, country=None):
return phonenumbers.parse(value, country)
yalnızca şablon filtresi yazma, şablonda biçimlendirmeyi kullanmak için kullanacaksanız:
{{ business.phone|phonenumber }} or {{ business.phone|phonenumber:"GB" }}
ve yazılı: gibi görünürdü. Uygulamanızın diğer yönlerinde biçimlendirmeye ihtiyacınız olacağını düşünüyorsanız, örneğin yöneticideki telefon numaralarını listelerken, modele yazın (ancak parametrelere işlevi geçirme yeteneğini kaybedin)
Bu soru oldukça yanıltıcıdır. "Bir telefon numarasını biçimlendirme" ya da benzer bir şey daha uygun olabilir –