Django Docucment

Database setup:

Giờ, ta sẽ mở mysite/settings.py. Nó là một module bình thường với cấp độ tùy biến đại diện cho thiết lập của Django.
Thoe mặc định, việc cấu hình sử dụng SQLite. Nếu bạn tạo mới database hoặc chỉ quan tâm đến việc thử nghiệm Django thì đây là lựa chọn dễ dàng nhất. SQLit là thành phần trong Python, nghĩa là bạn không cần cài đặt bất cứ thứ gì để hỗ trợ database. Khi bắt đầu dự án thực sự đầu tiên của bạn, bạn có thể muốn mở rộng thêm database giống như PostgreSQL, để tránh vấn đề vấn đề nhức đầu chuyển đổi cơ sở dữ liệu.
Nếu bạn mong muốn sử dụng một cơ sở dữ liệu khác, cài đặt bộ liên kết cơ sở dữ liệu thích hợp và thay đổi  những "keys" sau đây trong mục DATABASES'default' để khớp với thiết lập kết nối với cơ sở dữ liệu của bạn:
  • ENGINEMột trong'django.db.backends.sqlite3', 'django.db.backends.postgresql', 'django.db.backends.mysql', or 'django.db.backends.oracle'. Các phụ trợ khác cũng tương tự.
  • NAME – Tên cơ sở dữ liệu của bạn. Nếu bạn sử dụng SQLite, cơ sở dữ liệu sẽ là một file trên máy tính của bạn; trong trường hợp này,  NAME sẽ là đường dẫn đầy đủ, bao gồm cả tên file của file đó. Giá trị mặc định, os.path.join(BASE_DIR, 'db.sqlite3')sẽ được lưu trữ trong thư mục dự án của bạn.
Nếu bạn không sử dụng SQLite làm database. Bổ sung thiết lập giống như là USER, PASSWORD và HOST phải được thêm vào. Chi tiết hơn, xem tài liệu tham khảo về DATABASES.

Đối với cơ sở dữ liệu khác với SQLite

Nếu bạn sử dụng một database bên cạnh SQLite, chắc chắn bạn đã tạo một database bởi điều này. Làm việc đó với  “CREATE DATABASE database_name;” tại dấu nhắc bên trong cửa sổ tương tác với database của bạn.
Cũng chắc chắn rằng database người dùng được cung cấp trong mysite/settings.py có quyền tạo database. Điều này cho phép tự động tạo ra một cơ sở dữ liệu thử nghiệm cái mà sẽ cần trong bài học tiếp theo.
Nếu bạn sử dụng SQLite, bạn sẽ không cần phải tạo bất kỳ thứ gì trước đó, tập tin cơ sở dữ liệu một cách tự động khi cần đến.
Trong khi bạn chỉnh sửa mysite/settings.py thiết lập 'TIME_ZONE' là thời gian vùng của bạn.
Chú ý rằng thiết lập INSTALLED_APPS ở trên cùng của tập tin. Cái đó giữ các tên của tất cả các ứng dụng của Django mà đã được kích hoạt trong trường hợp này. Apps có thể được sử dụng trong nhiều dự án, và bạn có thể đóng gói và phân phối chúng cho người khác đề sử dụng trong dự án của họ.

Mặc định, INSTALLED_APPS chứa những apps sau, tất cả apps này nằm trong Django:

django.contrib.admin – Trang quản trị. Bạn sẻ sử dụng nó ngay bây giờ.

django.contrib.auth – Một hệ thốn chứng thực.

django.contrib.contenttypes – Một khuôn khổ của kiểu nội dụng.

django.contrib.sessions – Một khuôn khổ phiên làm việc.

django.contrib.messages – Khuôn mẫu thông báo.

django.contrib.staticfiles – Một framework cho việc quản lý trạng thái các tập tin.

 Những ứng dụng này được bao gồm bởi mặc định như một sự tiện dụng cho trường hợp phổ biến.
Một số ứng dụng này tạo ra ít nhất một bảng cơ sở dữ liệu, tuy nhiên, chúng ta cần tạo các bảng trong cơ sở dữ liệu trước khi có thể sử dụng chúng. Để làm điều đó, chạy lệnh sau:
$ python manage.py migrate
 
 Lệnh migrate tìm trong thiết lập INSTALLED_APPS và tạo bất kỳ bảng cơ sở dữ liệu cần thiết nào theo thiết lập trong tập tin mysite/settings.py và các cơ sở dữ liệu di chuyển cùng với app. Bạn sẽ nhìn thấy một lời nhắn thông báo cho mỗi app mà nó áp dụng. Nếu bạn quan tâm, chạy cửa sổ lệnh trên máy cho database của bạn và gõ \dt (PostgreSQL), SHOW TABLES; (MySQL), .schema (SQLite), or SELECT TABLE_NAME FROM USER_TABLES;(Oracle) để hiển thị bảng mà Django đã tạo.

 Dành cho sự tối giản
Giống như chúng tôi đã nói ở trên, các ứng dụng mặc định được bao gồm cho trường hợp phổ biến, nhưng không phải ai cũng cần chúng. Nếu bạn không cần bất kỳ hoặc tất cả chúng, đừng ngại chuyển sang comment hoặc xóa dòng thích hợp từ INSTALLED_APPS trước khi chạy lệnh migrate. The migrate chỉ chạy việc di chuyển cho những apps trong INSTALLED_APPS.

Creating models 

Bây giờ, chúng ta sẽ định nghĩa model cần thiết của bạn, bố trí cơ sở dữ liệu, cùng với thẻ dữ liệu.
Định nghĩa
model là một, tài nguyên cuối cùng thực sự về dữ liệu của bạn. Nó chứa những trường cần thiết và phản hồi của dữ liệu mà bạn lưu trữ. Mục đích là để đăng ký mô hình dữ liệu ở một nơi và lấy được một vài thứ một cách tự động từ nó.

Trong app lấy ý kiến đơn giản của chúng ta, chúng ta sẽ tạo ra hai mô hình: Câu hỏi và lựa chọn. Một câu hỏi có một câu hỏi và một ngày đăng. Một Choice có hai trường: phần văn bản của choice và một bỏ phiếu. Mỗi choice được liên kết với Question.
Đây là các mẫu được đại diện bởi classes Python đơn giản. Sửa tập tin polls/models.py giống như sau:
from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

Đoạn mã là dễ nhìn. Mỗi mô hình được đại diện bởi đó là phân lớp django.db.models.Model. Mỗi mô hình có một số của lớp tùy biến và mỗi điều đó lại đại diện cho một trường database trong mô hình.


Comments

Popular Posts