Hướng dẫn django insert data into database from html - django chèn dữ liệu vào cơ sở dữ liệu từ html

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

Bước 5. Đặt url và chạy ứng dụng DjangoMộ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 đó.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 makemigrations
0.
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 makemigrations
1. 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 makemigrations
2.
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
UuidfieldUUID 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.

Tên trườngSự mô tả
Nước ngoàiChì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 makemigrations
4 (điều gì sẽ là hành vi nếu khóa chính bị xóa).
ManytomanyfieldNó 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 makemigrations
5, bao gồm các mối quan hệ đệ quy và lười biếng.
OnetoonefieldNó 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 makemigrations
6. Một cái gì đó như thế này
python manage.py makemigrations
7.

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 }}

Hãy để lưu tệp dưới dạng

python manage.py migrate
0 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 migrate
1.

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 migrate
2 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 migrate
3 trong trình duyệt web.

Bất cứ khi nào một yêu cầu đến

python manage.py migrate
4, nó sẽ gọi đến hàm
python manage.py migrate
5 đượ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!

Hướng dẫn django insert data into database from html - django chèn dữ liệu vào cơ sở dữ liệu từ html

Làm thế nào gửi dữ liệu từ HTML đến cơ sở dữ liệu trong 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..
Tạo một lớp mô hình ..
Hiểu các loại trường mô hình khác nhau ..
Thực hiện di chuyển và thiết lập cơ sở dữ liệu ..
Tạo biểu mẫu để lấy đầu vào của người dùng ..
Đặt URL và chạy ứng dụng Django ..

Làm cách nào để chèn dữ liệu vào MySQL từ biểu mẫu HTML bằng Python?

Chèn một hàng duy nhất vào bảng MySQL từ Python..
Kết nối với MySQL từ Python. ....
Xác định truy vấn chèn SQL. ....
Nhận đối tượng con trỏ từ kết nối. ....
Thực thi truy vấn chèn bằng phương thức Execute (). ....
Cam kết thay đổi của bạn. ....
Nhận số lượng hàng bị ảnh hưởng. ....
Xác minh kết quả bằng cách sử dụng truy vấn chọn SQL ..

Làm thế nào để Django lưu trữ dữ liệu trong cơ sở dữ liệu?

Tạo các đối tượng để tạo một đối tượng, khởi tạo nó bằng cách sử dụng các đối số từ khóa vào lớp mô hình, sau đó gọi save () để lưu nó vào cơ sở dữ liệu.Điều này thực hiện một câu lệnh SQL chèn đằng sau hậu trường.Django không nhấn vào cơ sở dữ liệu cho đến khi bạn gọi rõ ràng Save ().Phương thức Save () không có giá trị trả về.To create an object, instantiate it using keyword arguments to the model class, then call save() to save it to the database. This performs an INSERT SQL statement behind the scenes. Django doesn't hit the database until you explicitly call save() . The save() method has no return value.

Làm cách nào để chèn nhiều hồ sơ vào Django?

Để tạo nhiều bản ghi dựa trên mô hình Django, bạn có thể sử dụng phương thức Bulk_create () tích hợp.Ưu điểm của phương thức Bulk_create () là nó tạo tất cả các mục trong một truy vấn duy nhất, vì vậy nó rất hiệu quả nếu bạn có danh sách một tá hoặc một trăm mục bạn muốn tạo.use the built-in bulk_create() method. The advantage of the bulk_create() method is that it creates all entries in a single query, so it's very efficient if you have a list of a dozen or a hundred entries you wish to create.