Trong một hướng dẫn trước đó, chúng tôi đã học cách tạo ứng dụng Django đầu tiên của bạn. Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về việc tạo biểu mẫu Django và lưu trữ dữ liệu trong cơ sở dữ liệu.
Biểu mẫu là một thực thể đồ họa trên trang web nơi người dùng có thể gửi thông tin của họ. Sau đó, thông tin này có thể được lưu trong cơ sở dữ liệu và có thể được sử dụng để thực hiện một số hoạt động logic khác.
Là một phần của hướng dẫn này, chúng tôi sẽ tạo một biểu mẫu HTML nơi người dùng có thể nhập dữ liệu của họ. Chúng tôi sẽ lưu dữ liệu này vào cơ sở dữ liệu SQLite mặc định của Django.
Các bước để lưu biểu mẫu HTML và chèn dữ liệu vào cơ sở dữ liệu trong Django
Có nhiều bước liên quan. Hãy để bắt đầu từng người một.
- Bước 1. Tạo một lớp mô hình
- Bước 2. Hiểu các loại trường mô hình khác nhau
- Bước 3. Tạo cơ sở dữ liệu di chuyển và thiết lập
- Bước 4. Tạo biểu mẫu để lấy đầu vào của người dùng
- Bước 5. Đặt url và chạy ứng dụng Django
Bước 1. Tạo một lớp mô hình
Bước 2. Hiểu các loại trường mô hình khác nhau
Bước 3. Tạo cơ sở dữ liệu di chuyển và thiết lập
Bước 4. Tạo biểu mẫu để lấy đầu vào của người dùng
Bước 5. Đặt url và chạy ứng dụng Django
from django.db import models class MyModel[models.Model]: fullname = models.CharField[max_length=200] mobile_number = models.IntegerField[]
Explanation:
- Một mô hình không là gì ngoài nguồn thông tin về dữ liệu nơi chúng ta có thể xác định loại dữ liệu và hành vi.
- Thông thường, một lớp mô hình bản đồ vào một bảng cơ sở dữ liệu.
- Bạn có thể tìm thấy tất cả các mô hình được xác định trong tệp
models.py
.
Mở model.py và viết một lớp mô hình trong đó.
Bước 2. Hiểu các loại trường mô hình khác nhau
Bước 3. Tạo cơ sở dữ liệu di chuyển và thiết lập
Bước 4. Tạo biểu mẫu để lấy đầu vào của người dùng
Thông thường, một lớp mô hình bản đồ vào một bảng cơ sở dữ liệu. | Bạn có thể tìm thấy tất cả các mô hình được xác định trong tệp models.py . |
Mở model.py và viết một lớp mô hình trong đó. | Trong dòng đầu tiên của mã, chúng tôi đang nhập các mô hình. |
Tạo một biểu mẫu mới [nói MyForm ] được kế thừa từ lớp python manage.py makemigrations0. | Từng một bạn có thể xác định dữ liệu/trường biểu mẫu với các loại dữ liệu của họ. |
Trong ví dụ trên, chúng tôi đã tạo hai trường dữ liệu mô hình - charfield [] và integerfield []. | Có nhiều loại trường mô hình khác nhau bạn có thể sử dụng trong các mô hình Django. Hầu hết các loại trường này là tự mô tả. |
Hãy để kiểm tra từng cái một. | Tên trường By default, the checkbox form widget can be used. |
Sự mô tả | Autofield |
Nó là một số nguyên tự động tăng cho mỗi mục. | BIGAUTOFIELD |
Nó có thể lưu trữ các giá trị lên đến một số nguyên 64 bit. Đây cũng là một trường được gia tăng tự động với phạm vi giá trị cao hơn. | Bigintegerfield |
Nó tương tự như số nguyên ngoại trừ nó có thể lưu trữ nhiều giá trị hơn [lên đến 64 bit]. | Binaryfield |
Nó được sử dụng để lưu trữ dữ liệu nhị phân [số không và những cái]. | Booleanfield |
Đây là một trường boolean để lưu trữ mặc định đúng hoặc false.by, tiện ích biểu mẫu hộp kiểm có thể được sử dụng. | Charfield |
Nó được sử dụng để lưu trữ tập hợp các ký tự [chuỗi]. Bạn có thể giới hạn số lượng ký tự. | Datefield |
Về cơ bản, đó là ví dụ python manage.py makemigrations1. Nó có thể được sử dụng để lưu trữ ngày. | DateTimeField |
Nó được sử dụng cho ngày và thời gian, được đại diện trong Python. Đó là một ví dụ python manage.py makemigrations2. | Decimalfield |
Bạn có thể lưu một số thập phân có độ chính xác cố định, được biểu thị bằng Python. Đó là một ví dụ thập phân. | Thời lượng |
Trường này được sử dụng để lưu trữ khoảng thời gian [khoảng thời gian giữa hai dấu thời gian]. | Emailfield |
Nó là một phần mở rộng của Charfield. Nó kiểm tra và lưu trữ chỉ là một chuỗi địa chỉ email hợp lệ. Nó ném lỗi nếu bạn cố gắng lưu trữ một địa chỉ email không hợp lệ. | Filefield |
Trường này được sử dụng để tải lên tệp. | Floatfield |
Đó là một số điểm nổi được biểu thị bằng Python bằng một ví dụ nổi. | ImageField |
Đây là phiên bản nâng cao của Fileupload và kế thừa tất cả các thuộc tính và phương thức từ FileField. Ngoài ra, nó cũng kiểm tra xem đối tượng được tải lên có phải là hình ảnh hợp lệ hay không. Nó chỉ chấp nhận một hình ảnh hợp lệ. | Integerfield |
Như tên cộng hưởng, nó là một trường số nguyên. Nó có thể chấp nhận các giá trị trong phạm vi -2147483648 đến 2147483647 [lên đến 32 bit]. | Generaitionaddressfield |
Trường này chấp nhận cả địa chỉ IPv4 hoặc IPv6. Nó thực sự là một chuỗi là một địa chỉ IP hợp lệ. [chênh lệch giữa địa chỉ IPv4 và IPv6] | Nullbooleanfield |
Nó tương tự như Booleanfield. Nhưng, nó cũng chấp nhận NULL cùng với các giá trị Boolean [đúng và sai]. | Tích cực |
Trường này chấp nhận các giá trị số nguyên dương. [Lưu ý: Nó cũng chấp nhận 0 [0]. | Positivesmallintegerfield |
Uuidfield | UUID là một định danh độc đáo toàn cầu. Trường này chấp nhận chuỗi UUID. |
Các trường quan hệ::
Django cũng xác định một tập hợp các trường đại diện cho mối quan hệ giữa hai trường dữ liệu.
Nếu bạn biết cơ sở dữ liệu, nó có nhiều khóa khác nhau được sử dụng để ánh xạ mối quan hệ. Tương tự, chúng ta có thể xác định các mối quan hệ đó bằng các trường mối quan hệ trong Django.
Nước ngoài | Chìa khóa nước ngoài đại diện cho các mối quan hệ nhiều-một. Với phím nước ngoài, chúng ta có thể lấy phím từ khóa chính của mô hình khác. Để sử dụng ForeignKey, hai đối số vị trí được yêu cầu- lớp từ đó khóa được lấy và tùy chọn python manage.py makemigrations4 [điều gì sẽ là hành vi nếu khóa chính bị xóa]. |
Manytomanyfield | Nó duy trì một mối quan hệ nhiều đến nhiều. Trường này cũng yêu cầu các đối số vị trí giống như trường python manage.py makemigrations5, bao gồm các mối quan hệ đệ quy và lười biếng. |
Onetoonefield | Nó tạo ra ánh xạ một-một giữa hai dữ liệu mô hình. |
Bước 3. Tạo cơ sở dữ liệu di chuyển và thiết lập
Sau khi viết mô hình Django, bạn cần tạo sự di chuyển. Chạy lệnh sau để tạo các di chuyển.
python manage.py makemigrations
Sau khi chạy lệnh, bạn có thể thấy tệp di chuyển được tạo trong thư mục
python manage.py makemigrations6. Một cái gì đó như thế này
python manage.py makemigrations7.
Bạn đã hoàn thành với việc tạo ra sự di chuyển. Để phản ánh điều di chuyển vào cơ sở dữ liệu, bạn phải chạy lệnh bên dưới.
python manage.py migrate
Bạn đã áp dụng di chuyển vào cơ sở dữ liệu thành công.
Với điều này, bạn đã tạo ra một phụ trợ.
Hãy để tạo ra Front-end [Form] để lấy dữ liệu từ người dùng.
Bước 4. Tạo biểu mẫu để lấy đầu vào của người dùng
Thay vì tạo hình thức HTML theo cách thủ công, Django có một cách dễ dàng để thực hiện nó.
Trước hết, hãy tạo một tệp mới dưới dạng Forms.py và ghi bên dưới mã Python.
Chúng tôi đang xác định biểu mẫu và thuộc tính để hiển thị trong biểu mẫu.
from django import forms from .models import MyModel class MyForm[forms.ModelForm]: class Meta: model = MyModel fields = ["fullname", "mobile_number",] labels = {'fullname': "Name", "mobile_number": "Mobile Number",}
Đây là những điều chúng tôi đang làm.
- Kế thừa lớp
python manage.py makemigrations
8 để tạo hình thức của riêng chúng tôi. - Trong lớp
python manage.py makemigrations
9, chúng tôi đang xác định các thuộc tính biểu mẫu. - Với các nhãn, chúng tôi có thể tùy chỉnh nhãn trường biểu mẫu để hiển thị.
Bây giờ tạo một mẫu trang HTML để hiển thị biểu mẫu Django.
Form {% csrf_token %} {{ form.as_p }} Submit
Hãy để lưu tệp dưới dạng
python manage.py migrate0 trong thư mục mẫu.
Ngay cả khi bạn biết HTML cơ bản, bạn có thể hiểu mã HTML ở trên.
Bạn cũng có thể sử dụng Bootstrap để tùy chỉnh biểu mẫu và để làm cho nó trông đẹp. Tôi sẽ cho bạn thấy điều đó trong hướng dẫn tiếp theo. Bây giờ hãy gắn bó với điều này và tiếp tục với hướng dẫn của chúng tôi để tạo biểu mẫu HTML và chèn dữ liệu vào cơ sở dữ liệu bằng Django.
Hãy để tạo ra một chức năng mới trong tệp python
python manage.py migrate1.
from django.shortcuts import render from .models import MyModel from .forms import MyForm def my_form[request]: if request.method == "POST": form = MyForm[request.POST] if form.is_valid[]: form.save[] else: form = MyForm[] return render[request, 'cv-form.html', {'form': form}]
Hàm này sẽ được gọi khi người dùng truy cập URL biểu mẫu trong trình duyệt web.
Bước 5. Đặt url và chạy ứng dụng Django
Hãy để gọi chức năng biểu mẫu này bằng cách ánh xạ nó vào URL. Chuyển đến URLS.PY và thêm dòng mã bên dưới vào
python manage.py migrate2 Danh sách.
url[r'form', views.my_form, name='form']
Bây giờ chạy và khởi động máy chủ cục bộ để kiểm tra bằng lệnh dưới đây.
python manage.py runserver
Nó sẽ bắt đầu máy chủ cục bộ. Bây giờ mở
python manage.py migrate3 trong trình duyệt web.
Bất cứ khi nào một yêu cầu đến
python manage.py migrate4, nó sẽ gọi đến hàm
python manage.py migrate5 được xác định trong các chế độ xem.
Ồ! Bạn đã tạo mẫu đầu tiên của bạn. Gửi dữ liệu mẫu trong biểu mẫu. Dữ liệu sẽ được lưu trong cơ sở dữ liệu.
Bạn cũng có thể thấy tất cả dữ liệu được gửi bởi người dùng trong bảng điều khiển quản trị viên Django. Bạn phải đăng ký mô hình vào trang web quản trị viên Django.
Trong hướng dẫn này, bạn đã học được cách lưu dữ liệu từ biểu mẫu HTML vào cơ sở dữ liệu trong Django.
Tiếp tục học hỏi!