tìm hiểu django

16 0 0
tìm hiểu django

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lần phát hành đầu tiên ra công chúng là vào tháng 7 năm - Django nhấn mạnh khả năng sử dụng lại của các thành phần, còn được gọi là DRYDon''''t Repeat Yourself và đi kèm với các tính năng s

Trang 1

Phước Tín Introduction

- Nguồn gốc: Django được Lawrence Journal-World phát minh vào năm 2003, nhằm đáp ứng thời hạn viết báo ngắn, đồng thời đáp ứng nhu cầu của các nhà phát triển web có kinh nghiệm Lần phát hành đầu tiên ra công chúng là vào tháng 7 năm

- Django nhấn mạnh khả năng sử dụng lại của các thành phần, còn được gọi là DRY(Don't Repeat Yourself) và đi kèm với các tính năng sẵn sàng sử dụng như hệ thống đăng nhập, kết nối cơ sở dữ liệu và hoạt động CRUD (Create, read, update, delete)

+ View - Trình xử lý yêu cầu trả về mẫu và nội dung có liên quan dựa trên yêu cầu từ người dùng.

+ Teamplate - Tệp văn bản (như tệp HTML) chứa bố cục của trang web, có logic về cách hiển thị dữ liệu.

Getting Started

- Cài đặt python: vì django yêu cầu python nên cần phải cài python - Kiểm tra xem Python đã được cài đặt hay chưa, ta dùng cú pháp

sau trên cmd

- Nếu kết quả tương tự như hình dưới thì bạn đã cài đặt Python: - Còn nếu không thì bạn có thể cài đặt miễn phí ở trên trang chủ

của nó theo link sau: https://www.python.org/

- Cài đặt PIP: ngoài ra để cài đặt Django thì bạn cũng cần một trình quản lý gói như PIP, được tích hợp sẵn từ phiên bản Python 3.4 trở lên

- Để kiểm tra xem bạn đã cài PIP hay chưa ta dùng cú pháp: - Nếu kết quả trả về tương tự như hình dưới thì bạn đã cài PIP

- Còn nếu không thì bạn phải cài đặt thủ công theo đường dẫn sau: https://pypi.org/project/pip/

Virtual Enviroment

Trang 2

- Để làm việc với Django thì môi trường ảo là thứ được khuyến khích dành riêng cho từng dự án Django

- Cú pháp tạo môi trường ảo:

Trang 3

(myworld) $ python -m pip install Django

Nó sẽ cho kết quả như thế này:

Check Django Version: Trên windows:

django-admin version Kết quả:

Create Project:

Tạo một Project tên: my_tennis_club

Di chuyển đến folder bạn muốn và chạy command dưới đây:

Django tạo thư mục my_tennis_club trên máy tính với nội dung sau:

Trang 4

Run the Django Project: Chạy project sẽ hiện trong browser:

Điều hướng trang vào folder /my_tennis_club và thực hiện lệnh dưới đây:

Hiện kết quả:

Trang 5

On browser:

Create App:

Tên app members.

Bắt đầu từ vị trị muốn lưu trữ ứng dụng Folder của tôi là: my_tennis_club

Nếu server đang chạy, thì bạn nhấn [CTRL] [BREAK], hoặc [CTRL] [C] để dừng server Để tiếp tục chạy phần dưới:

Django tạo một folder members trong project, với nội dung sau:

Trang 6

Võ Anh Tuấn 1 Views

‘view’ là một hàm hoặc phương thức lấy yêu cầu http làm đối số, import các model có liên quan và tìm ra dữ liệu (data) nào cần gửi đến template, sau đó trả về kết quả cuối cùng.

Thông thường, view thường ở trong file có tên là views.py 2 URLs

(‘URL’ - Uniform Resource Locator - “Trình định vị tài nguyên thống nhất“ Là một đường dẫn liên kết đến website, tham chiếu tới các tài nguyên trên mạng Internet)

Django cũng cung cấp cách để điều hướng tới những trang khác nhau trong một

A template is a file where you describe how the result should be represented ‘template’ là một tệp/file mà ở đó bạn mô tả cách trình bày các kết quả.

template thường là các tệp html, với code HTML mô tả layout (bố cục) của trang web, nhưng nó cũng có thể ở các định dạng tệp khác để hiển thị các kết quả khác (chúng ta thường tập trung vào các tệp html hơn)

Django sử dụng HTML tiêu chuẩn (standard HTML) để mô tả bố cục, nhưng lại sử dụng Django tags để thêm logic, ví dụ:

< >h1My Homepage</ >h1 < >p My name is firstname {{ }} </ >p

Các template của một ứng dụng thường được đặt trong một thư mục (folder) có tên là

templates.

Trang 7

*Giải thích cách hoạt đông:

Khi bạn đã cài đặt Django và tạo ứng dụng web Django đầu tiên của mình và trình duyệt yêu cầu URL, về cơ bản điều này sẽ xảy ra:

1 Django nhận URL, kiểm tra tệp urls.py và gọi view khớp với URL 2 View, nằm trong tệp views.py, kiểm tra các model có liên quan 3 Các model được nhập từ tệpmodels.py.

4 Sau đó, view sẽ gửi dữ liệu đến một template được chỉ định trong thư mục template.

5 Template chứa các HTML và Django tags, và cùng với dữ liệu, nó sẽ trả về nội dung HTML đã hoàn thành cho trình duyệt.

Django có thể làm được nhiều hơn thế, nhưng về cơ bản đây là các bước cơ bản trong một ứng dụng web đơn giản được tạo bằng Django.

Trang 8

- Bây giờ khi chúng ta đã mô tả một Mô hình trong tệp models.py , chúng ta phải chạy một lệnh để thực sự tạo bảng trong cơ sở dữ liệu - Điều hướng đến thư mục /my_tennis_club/ và chạy lệnh này:

- Kết quả sẽ được là:

- Django tạo một tệp mô tả các thay đổi và lưu trữ tệp trong thư mục

/migrations/:

Trang 9

- Lưu ý rằng Django chèn một trường cho các bảng của bạn, đó là một id

trường auto increment number (bản ghi đầu tiên nhận giá trị 1, bản ghi thứ hai 2, v.v.), đây là hành vi mặc định của Django, bạn có thể ghi đè nó bằng cách mô tả trường của riêng bạn.id

- Bảng chưa được tạo, bạn sẽ phải chạy thêm một lệnh nữa, sau đó Django sẽ tạo và thực thi một câu lệnh SQL, dựa trên nội dung của file mới trong thư mục /migrations/.

- Lần tới khi bạn chạy py management.py migrate Django sẽ tạo và thực thi một câu lệnh SQL, dựa trên nội dung của tệp mới trong thư mục di chuyển.

- Kết quả khi chạy lệnh di chuyển (py management.py migrate):

- Bây giờ bạn có một bảng Member trong cơ sở dữ liệu của mình!

- Câu lệnh SQL được tạo từ mô hình là: - Kết quả:

2 Update Model

- Để thêm một trường vào bảng sau khi nó được tạo, hãy mở tệp

models.pyvà thực hiện các thay đổi của bạn:

Trang 10

- Thêm phonevà joined_datevào Mô hình thành viên của mình - Đây là một sự thay đổi trong cấu trúc của Mô hình và do đó chúng tôi

phải thực hiện di chuyển để thông báo cho Django rằng nó phải cập nhật cơ sở dữ liệu:

- Django hỏi liệu tôi có muốn cung cấp cho các trường một giá trị cụ thể hay tôi muốn dừng quá trình di chuyển và sửa nó trong mô hình:

- Tôi sẽ chọn tùy chọn 2 và mở models.pylại tệp và cho phép giá trị NULL cho hai trường mới:

- Thực hiện di chuyển một lần nữa:

Trang 11

- Chạy lệnh di chuyển:

- Chúng ta có thể chèn dữ liệu vào hai trường mới với cách tiếp cận tương tự như chúng ta đã làm trong chương Cập nhật dữ liệu : - Đầu tiên chúng ta vào Python Shell:

- Ở phía dưới, sau ba dòng >>>viết như sau (và nhấn [enter] cho mỗi dòng):

- Thao tác này sẽ chèn số điện thoại và ngày vào Mô hình Thành viên, ít nhất là đối với bản ghi đầu tiên, bốn bản ghi còn lại hiện sẽ được để trống Chúng ta sẽ giải quyết chúng sau trong hướng dẫn - Thực hiện lệnh này để xem bảng Member đã được cập nhật chưa:

Trang 13

Văn Thắng

11.Chèn dữ liệu:

-Thêm bản ghi

Chúng ta sẽ sử dụng trình thông dịch Python (Python shell) để thêm một số các thành viên tham gia vào nó.

Để mở shell Python, gõ lệnh này: py manage.py shell

Sau đó shell sẽ hiện ra thông báo Ở phía dưới, sau ba >>> viết như sau: >>> from members.models import Member

Điều này sẽ cung cấp cho bạn một đối tượng QuerySet trống, như thế này:

<QuerySet []>

QuerySet là tập hợp dữ liệu từ cơ sở dữ liệu.

Thêm bản ghi vào bảng bằng cách thực hiện hai dòng sau:

// có thể viết theo dữ liệu mà bạn muốn thêm vào (phía dưới chỉ là ví dụ) >>> member = Member(firstname='Emil', lastname='Refsnes') >>> member.save()

kết quả sẽ như thế này:

<QuerySet [{'id': 1, 'firstname': 'Emil', 'lastname': 'Refsnes'}]>

- Thêm nhiều bản ghi

Tương tự như thêm 1 bản ghi bạn có thể thêm nhiều bản ghi bằng cách tạo danh sách Member các đối tượng, và thực thi save() trên mỗi mục:

>>> member1 = Member(firstname='Tobias', lastname='Refsnes')

Trang 14

>>> member2 = Member(firstname='Linus', lastname='Refsnes') >>> member3 = Member(firstname='Lene', lastname='Refsnes') >>> member4 = Member(firstname='Stale', lastname='Refsnes') >>> member5 = Member(firstname='Jane', lastname='Doe') >>> members_list = [member1, member2, member3, member4, member5]

>>> for x in members_list: >>> x.save()

Thành viên đã được thêm vào trong data

Nguồn tham khảo: Django Insert Data (w3schools.com) Hoặc bạn có thể thêm dữ liệu trực tiếp qua database từ port

http://localhost:8000/admin (nếu chạy local) và đăng nhập bằng superuser(admin) 12 Cập nhật dữ liệu:

- Để cập nhật các bản ghi đã có trong cơ sở dữ liệu, trước tiên chúng ta phải lấy bản ghi mà chúng ta muốn cập nhật:

// đây là ví dụ thay đổi dữ liệu của thành viên ở vị trí thứ 4 >>> from members.models import Member

>>> x = Member.objects.all()[4]

- x bây giờ sẽ đại diện cho thành viên ở chỉ số 4, đó là "Stale Refsnes", nhưng để chắc chắn, chúng ta hãy xem điều đó có đúng không:

Trang 15

Hoặc bạn có thể cập nhật dữ liệu trực tiếp qua database từ port

http://localhost:8000/admin (nếu chạy local) và đăng nhập bằng superuser(admin) 13 Xóa dữ liệu:

Để xóa một bản ghi trong bảng, hãy bắt đầu bằng cách lấy bản ghi bạn muốn xóa:

// ví dụ về xóa dữ liệu của thành viên ở vị trí số % >>> from members.models import Member >>> x = Member.objects.all()[5]

x bây giờ sẽ đại diện cho thành viên ở chỉ số 5, đó là "Jane Doe", nhưng để chắc chắn, chúng ta hãy xem điều đó có đúng không:

Nguồn tham khảo: Django Update Data (w3schools.com) Hoặc bạn có thể xóa dữ liệu trực tiếp qua database từ port

http://localhost:8000/admin (nếu chạy local) và đăng nhập bằng superuser(admin)

NGUỒN THAM KHẢO CHÍNH CỦA TEAM 17:

- Cùng với các nguồn nhỏ lẻ khác.

Ngày đăng: 24/04/2024, 09:30

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan