Tải bản đầy đủ (.pdf) (16 trang)

tìm hiểu django

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (520.14 KB, 16 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="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: Cài đặt PIP: ngồ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: Enviroment

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="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:

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="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:

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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ả:

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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:

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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 đã hồ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.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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/:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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 q 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:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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:

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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')

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="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.

</div>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×