Hướng dẫn how does django validate phone numbers in python? - cách django xác thực số điện thoại trong python?

Đầu tiên, cài đặt gói "Django-Phonenumber-Field" với lệnh bên dưới:"django-phonenumber-field" package with the command below:

pip install django-phonenumber-field[phonenumbers]

Sau đó, đặt "phonenumber_field" thành installed_apps trong "Settings.py":"phonenumber_field" to INSTALLED_APPS in "settings.py":

# "settings.py"

INSTALLED_APPS = [
    ...
    "phonenumber_field",
    ...
]

Sau đó, đặt một trường với "phonenumberfield ()" trong "model.py":"PhoneNumberField()" in "models.py":

# "models.py"

from django.db import models
from phonenumber_field.modelfields import PhoneNumberField

class Contact(models.Model):
    phone = PhoneNumberField()

Sau đó, đăng ký "liên hệ" trong "admin.py":"Contact" in "admin.py":

# "admin.py"

from django.contrib import admin
from .models import Contact

@admin.register(Contact)
class ContactAdmin(admin.ModelAdmin):
    pass

Sau đó, chạy lệnh bên dưới:

python manage.py makemigrations && python manage.py migrate

Bây giờ, trường cho số điện thoại được tạo như hình dưới đây:

Hướng dẫn how does django validate phone numbers in python? - cách django xác thực số điện thoại trong python?

Ngoài ra, gán tiện ích "PhonenumberPrefixWidget ()" cho trường dưới dạng tùy chỉnh và gán biểu mẫu tùy chỉnh cho quản trị viên như hiển thị bên dưới:the widget "PhoneNumberPrefixWidget()" to the field in a custom form and assign the custom form to the admin as shown below:

# "admin.py"

from django.contrib import admin
from .models import Contact
from django import forms
from phonenumber_field.widgets import PhoneNumberPrefixWidget

class ContactForm(forms.ModelForm):
    class Meta:
        widgets = {
            'phone': PhoneNumberPrefixWidget(),
        }

@admin.register(Contact)
class ContactAdmin(admin.ModelAdmin):
    form = ContactForm

Bây giờ, với mã quốc gia, trường cho số điện thoại được tạo

Hướng dẫn how does django validate phone numbers in python? - cách django xác thực số điện thoại trong python?

Và, bạn có thể đặt mã quốc gia ban đầu như ban đầu = 'us' thành "phonenumberprefixwidget ()" như được hiển thị bên dưới. *Mã quốc gia ban đầu phải được viết hoa:initial='US' to "PhoneNumberPrefixWidget()" as shown below. *Initial country code must be uppercase:

# "admin.py"

from django.contrib import admin
from .models import Contact
from django import forms
from phonenumber_field.widgets import PhoneNumberPrefixWidget

class ContactForm(forms.ModelForm):
    class Meta:
        widgets = {                          # Here
            'phone': PhoneNumberPrefixWidget(initial='US'),
        }

@admin.register(Contact)
class ContactAdmin(admin.ModelAdmin):
    form = ContactForm

Bây giờ, với mã quốc gia ban đầu "Hoa Kỳ" đã chọn, trường cho số điện thoại được tạo:the initial country code "US" selected, the field for a phone number is created:

Hướng dẫn how does django validate phone numbers in python? - cách django xác thực số điện thoại trong python?

Bạn cũng có thể đặt mã quốc gia ban đầu với "phonenumber_default_region" trong "settings.py" như được hiển thị bên dưới nhưng tôi đề nghị đặt mã quốc gia ban đầu với ban đầu = 'us' thành "phonenumberprefixwidget () như tôi đã thực hiện ở trên vì sử dụng "Phonenumber_default_region" Đôi khi không hiển thị số điện thoại đã lưu trong quản trị viên Django:"PHONENUMBER_DEFAULT_REGION" in "settings.py" as shown below but I recommand to set an initial country code with initial='US' to "PhoneNumberPrefixWidget()" as I've done above because using "PHONENUMBER_DEFAULT_REGION" sometimes doesn't display saved phone numbers in Django Admin:

# "settings.py"

PHONENUMBER_DEFAULT_REGION = "US"

Mô tả dự án

Một thư viện Django giao diện với Python-Phonenumbers để xác nhận, in đẹp và chuyển đổi số điện thoại. Python-Phonenumbers là một cổng của Thư viện Google Libphonenumber, nơi cung cấp năng lượng cho việc xử lý số điện thoại của Android.python-phonenumbers is a port of Google’s libphonenumber library, which powers Android’s phone number handling.

Tài liệu

https://django-phonenumber-field.readthedocs.io/

Chạy thử nghiệm

Tox cần được cài đặt. Để chạy toàn bộ ma trận thử nghiệm với các phiên dịch viên Python có sẵn tại địa phương và tạo báo cáo bảo hiểm kết hợp:

tox

Chạy một kết hợp cụ thể:

tox -e py310-djmain,py39-djmain

Tải tập tin

Tải xuống tệp cho nền tảng của bạn. Nếu bạn không chắc chắn nên chọn cái nào, hãy tìm hiểu thêm về việc cài đặt các gói.

Phân phối nguồn

Phân phối xây dựng

django-phonenumber-field

Một thư viện Django giao diện với Python-Phonenumbers để xác nhận, in đẹp và chuyển đổi số điện thoại.

# "settings.py"

INSTALLED_APPS = [
    ...
    "phonenumber_field",
    ...
]
2 là một cổng của Thư viện Libphonenumber của Google, cung cấp năng lượng cho việc xử lý số điện thoại của Android.

Tài liệu

https://django-phonenumber-field.readthedocs.io/

Chạy thử nghiệm

Tox cần được cài đặt. Để chạy toàn bộ ma trận thử nghiệm với các phiên dịch viên Python có sẵn tại địa phương và tạo báo cáo bảo hiểm kết hợp:

# "settings.py"

INSTALLED_APPS = [
    ...
    "phonenumber_field",
    ...
]
0

Chạy một kết hợp cụ thể:

# "settings.py"

INSTALLED_APPS = [
    ...
    "phonenumber_field",
    ...
]
1

Làm thế nào để Django xác nhận số điện thoại?

Cách xác minh số điện thoại trong ứng dụng Django với Twilio .....
Tùy chỉnh mô hình cơ sở dữ liệu người dùng ..
Yêu cầu biết thêm thông tin trong trang đăng ký người dùng ..
Gửi và kiểm tra mã xác minh SMS với Dịch vụ Xác minh Twilio ..

Django có trường số điện thoại không?

Một thư viện Django giao diện với Python-Phonenumbers để xác nhận, in đẹp và chuyển đổi số điện thoại.Python-Phonenumbers là một cổng của Thư viện Libphonenumber của Google, cung cấp năng lượng cho việc xử lý số điện thoại của Android.

Làm thế nào để lưu trữ số điện thoại trong Django?

Bạn có thể sử dụng thư viện Phonenumber_field.Đây là một cổng của Thư viện Libphonenumber của Google, cung cấp năng lượng cho việc xử lý số điện thoại của Android.Xem Django-Phonenumber-Field.use the phonenumber_field library. It is a port of Google's libphonenumber library, which powers Android's phone number handling. See django-phonenumber-field.

Lỗi xác thực trong django là gì?

Trình xác nhận là một trình gọi có thể gọi được có giá trị và nâng cao xác thực nếu nó không đáp ứng một số tiêu chí.Trình xác nhận có thể hữu ích để sử dụng lại logic xác thực giữa các loại trường khác nhau.. Validators can be useful for reusing validation logic between different types of fields.