Tìm hiểu lập trình python và ứng dụng phát triển ứng dụng web với django

MỤC LỤC
LỜI CẢM ƠN
MỤC LỤC
MỞ ĐẦU ............................................................................................................... 4
Chương I NGÔN NGỮ LẬP TRÌNH PYTHON ................................................. 7
1. Cài đặt mơi trường PyCharm ........................................................................ 7
2. Cài đặt python ............................................................................................... 8
3. Tạo file và viết mã Python trên PyCharm .................................................... 9
4. Các Khái Niệm Cơ Bản Trong Lập Trình Python ...................................... 10
5. Cấu trúc dữ liệu là gì, các kiểu cấu trúc dữ liệu trong python. ................... 11
6. Cấu trúc điều khiển trong python ............................................................... 12
a. Lệnh IF .................................................................................................... 16
b. Lệnh FOR ................................................................................................ 17
c. Lệnh While .............................................................................................. 18
7. Sử Dụng Hàm Trong Python ...................................................................... 19
a. Hàm [Function] ....................................................................................... 19
b. Các thông số của Hàm [Function Parameters] ....................................... 20
c. Câu lệnh return trong Python .................................................................. 21
Chương II PHÁT TRIỂN ỨNG DỤNG WEB VỚI DJANGO .......................... 20
1. Cài đặt django ............................................................................................. 24
2. Tạo project .................................................................................................. 26
3. Chạy server ................................................................................................. 26
4. Tạo Web App .............................................................................................. 27
5. Model .......................................................................................................... 28
6. Hệ thống admin ........................................................................................... 31
7. View và templates ....................................................................................... 33
a. View ........................................................................................................ 33
b.Templates ................................................................................................. 35
c. Đặt namespace cho URL ......................................................................... 37
Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

6|

8. Upload file................................................................................................... 39
a. Tạo form upload ...................................................................................... 39
b. Tạo templates và file template ................................................................ 40
9. Form trong django....................................................................................... 42
a. Form sử dụng model ............................................................................... 42
b. Form không sử dụng model .................................................................... 47
10. Hệ thống user trong Django ...................................................................... 51
a. Ví dụ về phân quyền user ........................................................................ 51
b. Phân quyền view [decorator] .................................................................. 54
11. Custom user model trong Django ............................................................. 57
12. Tùy chỉnh giao diện admin [admin custom admin site django] ............... 59
Chương III XÂY DỰNG KHUNG WEBSITE BÁN HÀNG

58

1. Phân tích cơ sở dữ liệu ................................................................................ 65
2. Xây dựng khung website bán hàng ............................................................. 66
KẾT LUẬN ......................................................................................................... 76
DANH MỤC TÀI LIỆU THAM KHẢO ........................................................ 77

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

7|

MỞ ĐẦU
Trong cuộc sống của mỗi chúng ta khi nền kinh tế ngày càng phát triển,

ngành công nghệ thông tin trở thành một trợ thủ, điều không thể thiếu với hầu
hết các ngành nghề. Có thể ban đầu nhiều người sẽ cảm thấy chưa cần thiết vì
chỉ kinh doang ở quy mơ nhỏ, hoặc chưa sẵn sàng sử dụng vì nghĩ rằng phần
mềm là một khái niệm gì đó rất mới mẻ, phức tạp, khó sử dụng.
Ngày nay trong cuộc sống 4.0 của chúng ta gần như không thể thiếu được
những khái niệm liên quan đến công nghệ thông tin, từ các phương tiện truyền
thông, xã hội cho đến lĩnh vực kinh doanh, quản lý….. Mọi thứ đều cần những
phần mềm cũng như sản phẩm của công nghệ thông tin đễ hỗ trợ giúp nâng cao
phát triển vững mạnh hơn.Ví dụ trong lĩnh vực kinh doanh bn bán hàng hóa
theo cách truyền thống vẫn còn tồn tại nhiều nhược điểm như thống kê chi tiết
chưa chính xác, quy trình thanh tốn chưa được chặt chẽ và nhanh chóng .
Cùng với sự phát triển của nhiều ngơn ngữ lập trình web như PHP, Ruby,
Scheme thì Python là một cái tên đáng chú ý. Hiện nay ngôn ngữ Python được
xếp hạng thứ 1 trong Top 10 các ngơn ngữ lập trình phổ biến nhất đang được
thế giới sử dụng. Python là một ngơn ngữ có hình thái rất sáng sủa, cấu trúc rõ
ràng, thuận tiện cho người mới bắt đầu học lập trình. Cấu trúc của Python cịn
cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu nhất. Python
là một ngơn ngữ lập trình đơn giản nhưng lại rất hiệu quả. Bên cạnh đó, Python
là một ngơn ngữ có tính hướng đối tượng cao. Với ngơn ngữ lập trình python là
một ngơn ngữ lập trình đa năng với nhiều ưu điểm vượt trội, và đang đứng ở vị
trí số một trong top các ngơn ngữ lập trình hiện nay .
Đồ án gồm có các chương sau: Chương I giới thiệu về ngơn ngữ lập trình
python thịnh hành nhất hiện nay cũng như lịch sử hình thành và các phiên bản.
Chương II giới thiệu về một Framework được viết bằng ngơn ngữ lập trình
python là Django và các ứng dụng. Chương III demo một website bán hàng
được xây dựng bởi Django.

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

8|

Chương I
NGƠN NGỮ LẬP TRÌNH PYTHON
Giới thiệu
Lịch sử hình thành
Python đã được hình thành vào cuối những năm 1980 và được bắt đầu
thực hiện vào tháng 12/1989 bởi Guido van Rossum tại CWI tại Hà Lan như là
người kế thừa của ngôn ngữ ABC [tự lấy cảm hứng từ SETL] có khả năng xử lý
ngoại lệ và giao tiếp với hệ điều hành Amoeba. Van Rossum là tác giả chính
của Python, và vai trị trung tâm của ơng tiếp tục trong việc quyết định hướng
phát triển của Python được phản ánh trong tiêu đề mà cộng đồng Python dành
cho ông “Độc tài nhân từ cho cuộc sống” [benevolent dictator for life][BDFL].
Python 2.0 được phát hành vào ngày 16/10/2000, với nhiều tính năng
chính mới bao gồm một bộ dọn rác đầy đủ và hỗ trợ Unicode. Với phiên bản
này, quá trình phát triển đã được thay đổi và trở thành minh bạch hơn và được
cộng đồng ủng hộ.
Python 3.0 [còn được gọi là Python 3000 hoặc Py3k], một bản phát hành
lớn, khơng tương thích ngược, được phát hành vào ngày 03/12/2008 sau một
thời gian dài thử nghiệm. Nhiều trong số các tính năng chính của nó đã được
điều chỉnh để tương thích ngược với Python 2.6 và 2.7. Các tính năng và triết lý
phát triển Python là 1 ngôn ngữ lập trình đa hình: lập trình hướng đối tượng và
hướng cấu trúc được hỗ trợ đầy đủ, và có 1 số tính năng của ngơn ngữ hỗ trợ lập
trình theo chức năng và lập trình hướng khía cạnh [Aspect-oriented
programming]. Nhiều mơ hình khác được hỗ trợ bằng việc sử dụng các phần mở
rộng, bao gồm thiết kế theo hợp đồng [design by contract] và lập trình luận lý.
Các trang như Mozilla, Reddit, Instagram và PBS đều được viết bằng Python.
Ngôn ngữ lập trình Python được dùng vào các mục đích :


Phát triển web [trên máy chủ]
Phát triển phần mềm
Tính tốn một cách khoa học
Lên kịch bản cho hệ thống

Tại Sao Nên Học Lập Trình Python?

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

9|




Python hỗ trợ nhiều nền tảng khác nhau [Windows, Mac, Linux,
Raspberry Pi, etc].
Python có cú pháp đơn giản, dễ đọc hiểu và rất gần gũi với tiếng
Anh.
Cú pháp của Python giúp lập trình viên sử dụng ít dịng code để lập
trình cùng một thuật tốn hơn so với các ngơn ngữ lập trình khác.
Python sử dụng trình thơng dịch để thực thi các dịng code. Do đó,
những dịng code có thể được thực thi ngay lập tức mà không cần
biên dịch tồn bộ chương trình. Như vậy giúp chúng ta kiểm tra
code nhanh hơn.

Python cũng hỗ trợ hàm, thủ tục, hay kể cả lập trình hướng đối tượng.
Để viết mã nguồn Python, ta có thể sử dụng bất kỳ một trình soạn thảo nào, kể
cả những trình soạn thảo đơn giản nhất như NotePad. Tuy nhiên, để phát triển
các ứng dụng một cách hiệu quả hơn, ta nên sử dụng một IDE, để có thể tiết
kiệm thời gian và cơng sức viết code. ở đây chúng ta sử dụng một trong những
IDE thơng dụng nhất để lập trình ứng dụng Python, đó là PyCharm IDE.
1. Cài đặt mơi trường PyCharm
Để download Pycharm, ta truy cập vào:
//www.jetbrains.com/pycharm/download/#section=windows và tải về

Hình 1.1 Download pycharm

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

10 |

Sau khi đã tải phiên bản pycahrm về máy ta tiến hành cài đặt pycharm theo các
bước trong hướng dẫn và những tùy chọn cài đặt.

Hình 1.2 Cài đặt pycharm
2. Cài đặt python
Để download Python, ta truy cập địa chỉ trang chủ của python qua địa chỉ
//www.python.org/downloads/ và tải python bản mới nhất.

Hình 2.1 Download python
Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

11 |

Sau khi download xong nhấn vào file .exe vừa download và kích hoạt để cài đặt.
Lúc này chỉ cần thực hiện lần lượt các bước theo hướng dẫn như chọn các thành
phần cài đặt, xác định đường dẫn cần thiết và các thơng số khác.

Hình 2.2 Cài đặt python
Sau khi q trình cài đặt được hồn tất,giao diện của PyCharm sẽ như hình 2.2

Hình 2.2 Tạo project
3. Tạo file và viết mã Python trên PyCharm
Sau khi đã tạo xong Project, ta click phải chuột lên Project, rồi tạo mới một
Python File, để tạo một file mã nguồn Python. Và đặt tên cho file đó, file được
viết bằng ngơn ngữ lập trình python có đi “py”
Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

12 |

Hình 3.1 Tạo file python
Thử viết một ví dụ in ra “Hello world” trên pycharm bằng ngơn ngữ lập trình
python.

Hình 3.2 Ví dụ Hello world.
4. Các Khái Niệm Cơ Bản Trong Lập Trình Python
Comments : Trong Python bất kỳ văn bản nào ở bên phải biểu tượng # thì sẽ
được trình biên dịch hiểu là một comment và khơng biên dịch phần đó.

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

13 |

Sử dụng càng nhiều comment hữu ích trong chương trình của bạn sẽ làm cho
cơng việc lập trình của bạn dễ dàng hơn:
-

Giải thích các giả định
Giải thích các quyết định quan trọng
Giải thích chi tiết quan trọng
Giải thích vấn đề bạn đang cố gắng giải quyết
Giải thích các vấn đề đang cố gắng khắc phục trong chương trình của
mình, v.v.

 Hằng số [Literal Constants]: Ví dụ về một hằng số theo nghĩa đen là một
số như 5, 1.23 hoặc một chuỗi như ‘python’hay “It’s a string!”. Nó được
gọi là nghĩa đen bởi vì sử dụng giá trị của nó theo nghĩa đen. Số 2 ln
ln đại diện cho chính nó và khơng có gì khác và nó là một hằng số vì
giá trị của nó khơng thể thay đổi. Do đó, tất cả những giá trị này được gọi
là hằng số.
 Số [Numbers] : Số chủ yếu có hai loại – số nguyên [integer] và số thực
[float].
 Chuỗi [String]: Một chuỗi là một dãy các ký tự .Chuỗi về cơ bản chỉ là
một loạt các từ.
 Biến: Biến chính xác như tên gọi của nó, tức là giá trị của nó có thể thay
đổi. Các biến có thể giúp lưu trữ bất cứ cái gì nếu có thể định nghĩa được
nó. Các biến chỉ là một phần của bộ nhớ máy tính nơi lưu trữ một số
thơng tin.
 Đối tượng [Object]: Python đề cập đến bất cứ điều gì được sử dụng trong
một chương trình như là một đối tượng.

5. Cấu trúc dữ liệu là gì, các kiểu cấu trúc dữ liệu trong python.
Việc tổ chức, quản lý và lưu trữ dữ liệu rất quan trọng vì nó cho phép truy
cập dễ dàng hơn và sửa đổi hiệu quả. Cấu trúc dữ liệu [Data Structure] cho phép
bạn sắp xếp dữ liệu của mình theo cách cho phép bạn lưu trữ các bộ dữ liệu
được thu thập, liên quan đến chúng và theo đó mà thực hiện các thao tác trên
chúng.
Python có hỗ trợ ngầm cho Cấu trúc dữ liệu cho phép lưu trữ và truy cập dữ
liệu. Các cấu trúc này được gọi là List, Dictionary, Tuple và Set.
Python cho phép người dùng tạo Cấu trúc dữ liệu của riêng họ, cho phép tồn
quyền kiểm sốt chức năng. Các cấu trúc dữ liệu nổi bật nhất là Stack, Queue,
Tree, Linked List, v.v. đồng thời cũng có sẵn trong các ngơn ngữ lập trình khác.

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

14 |

Cấu trúc dữ liệu tích hợp [Built-in Data Structures]
Về cấu trúc dữ liệu trong Python, các Cấu trúc dữ liệu này được tích hợp sẵn
với Python giúp lập trình dễ dàng hơn và giúp các lập trình viên sử dụng chúng
để có được các giải pháp nhanh hơn. Và có các kiểu cấu trúc dữ liệu là :
List : Được sử dụng để lưu trữ dữ liệu của các loại dữ liệu khác nhau một
cách tuần tự. Có các địa chỉ được gán cho mọi thành phần của danh sách,
được gọi là Index. Giá trị chỉ mục bắt đầu từ 0 và tiếp tục cho đến khi
phần tử cuối cùng được gọi là chỉ số dương.
 Dictionary: Được sử dụng để lưu trữ các cặp key-value. Để hiểu rõ hơn,
hãy nghĩ đến một thư mục điện thoại nơi hàng trăm và hàng ngàn tên và
số tương ứng của chúng đã được thêm vào. Bây giờ các giá trị không đổi
ở đây là Tên và Số điện thoại được gọi là các phím. Và các tên và số điện
thoại khác nhau là các giá trị đã được đưa vào các phím. Nếu truy cập

các giá trị của các phím, sẽ nhận được tất cả tên và số điện thoại. Vì vậy,
đó là những gì một cặp key-value. Và trong Python, cấu trúc này được
lưu trữ bằng Dictionary
 Set: Là một tập hợp các yếu tố khơng có thứ tự là duy nhất. Có nghĩa là
ngay cả khi dữ liệu được lặp lại nhiều lần, nó sẽ chỉ được nhập vào tập
hợp một lần.
 Tuple [các bộ dữ liệu] : Tuples giống như các list với ngoại lệ là dữ liệu
một khi được nhập vào bộ dữ liệu không thể thay đổi bất kể điều gì.
Ngoại lệ duy nhất là khi dữ liệu bên trong Tuple có thể thay đổi, chỉ sau
đó dữ liệu Tuple có thể được thay đổi.

Hình 5.1 So sánh Data List và Data Tuple
6. Cấu trúc điều khiển trong python

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

15 |

Python luôn chạy một loạt các câu lệnh theo thứ tự từ trên xuống một cách
chính xác. Câu lệnh điều khiển là loại câu lệnh được dùng để điều khiển luồng
chạy của các câu lệnh khác trong chương trình.
Điều này đạt được bằng cách sử dụng các câu lệnh điều khiển. Có 3 lệnh kiếm
sốt cấu trúc điều khiển của Python là: if, for và while.
a. Lệnh IF
Được sử dụng để kiểm tra một điều kiện: nếu điều kiện là đúng sẽ chạy một
khối các câu lệnh [được gọi là if-block], nếu sai chương trình sẽ xử lý một khối
các câu lệnh khác [được gọi là else-block ].
Ví dụ :
Cho một số nguyên cho trước, nhập vào một số nguyên khác và báo về các kết

quả. Nếu thỏa mãn các điều kiện thì in ra các kết quả khác nhau

Kết quả cho thấy khi chúng ta nhập một số nguyên bất kì. Nếu thỏa mãn điều
kiện bằng với số cho trước thì in ra “chính xác”. Và kết quả khác khi điền
vào số lớn hoặc nhỏ hơn số cho trước.
Kết quả:

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

16 |

b. Lệnh FOR
Câu lệnh for..in là một câu lệnh lặp khác, nó lặp đi lặp lại qua một chuỗi
[sequences] các đối tượng tức là đi qua từng mục trong một chuỗi. Chúng ta sẽ
tìm hiểu nhiều hơn về sequences trong bài về cấu trúc dữ liệu trong Python sau.
Những gì bạn cần biết ngay bây giờ là một chuỗi trình từ chỉ là một tập hợp các
items.
Ví dụ

Kết quả Vịng lặp for trong Python hồn tồn khác với vịng lặp trong C / C ++.
vòng lặp for trong Python tương tự như vòng lặp foreach trong C#.Trong C / C
++, nếu bạn muốn viết for[int i = 0; i y thì in ra x và ngược lại.

Kết quả đầu ra: in ra giá trị lớn nhất trong hai số cho trước

d. DocStrings trong Python
Chuỗi đầu tiên ngay sau tiêu đề hàm được gọi là docstring [documentation
string], nó được dùng để giải thích chức năng cho hàm. Mặc dù docstring là
khơng bắt buộc, nhưng việc giải thích ngắn gọn về chức năng của hàm sẽ giúp
người dùng sau khi gọi hàm có thể hiểu ngay hàm sẽ làm gì mà khơng cần phải
tìm lại định nghĩa hàm để xem xét.
Việc thêm tài liệu cho code giúp sau khi quay trở lại có thể nhớ được chi tiết, rõ
ràng đoạn code đã viết trước đó mà khơng có sai sót gì.

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

22 |

Python có một tính năng tiện lợi gọi là chuỗi tài liệu , thường được gọi bằng tên
ngắn hơn của nó docstrings . DocStrings là một cơng cụ quan trọng mà bạn
nên sử dụng vì nó giúp ghi lại chương trình tốt hơn và dễ hiểu hơn. Chúng ta
thậm chí có thể in hoặc sử dụng các chuỗi này trong các hàm.

Ví dụ về hàm DocStrings trong Python
Cho hai số nguyên x,y tìm số lớn hơn . nếu : x lớn hơn y thì in ra “x is
maxium”. và ngược lại nếu y lớn hơn y thì in ra “y is maxium” và kết thúc.

Kết quả: in ra giá trị lớn nhất [y=5 , y >3] suy ra y is maxium

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

23 |

CHƯƠNG II
PHÁT TRIỂN ỨNG DỤNG WEB VỚI DJANGO

Giới thiệu về web framework django
Django là một web framework khá nổi tiếng được viết hồn tồn bằng
ngơn ngữ Python. Nó là một framework với đầy đủ các thư viện, module hỗ trợ
các web-developer. Mục tiêu chính của Django là đơn giản hóa việc tạo các
website phức tạp có sử dụng cơ sở dữ liệu. Django tập trung vào tính năng “có
thể tái sử dụng” và “có thể tự chạy”, tính năng phát triển nhanh, khơng làm lại
những gì đã làm.
Django tập trung vào tính năng “có thể tái sử dụng” và “có thể tự chạy”,
tính năng phát triển nhanh, khơng làm lại những gì đã làm. Django được thiết kế
với triết lý làm sao để các lập trình viên đưa các ý tưởng trở thành một sản
phẩm nhanh nhất có thể. Với sự kết hợp hồn hảo đó chúng ta hồn tồn có thể
xây dựng một website bán hàng hay quản lý hàng hóa với độ chi tiết và chính
xác cao.
Một số ưu điểm khi dùng Django là :
 Nhanh: Django được thiết kế với triết lý làm sao để các lập trình
viên đưa các ý tưởng trở thành một sản phẩm nhanh nhất có thể.

 Có đầy đủ các thư viện/module cần thiết: Django có sẵn các thư
viện về user authentication, content admin, site maps…
 Đảm bảo về tính bảo mật: Khơng cịn các nỗi lo về các lỗi bảo mật
thơng thường. Django cũng cung cấp cả phương pháp để lưu mật
khẩu an toàn .
 Khả năng mở rộng tốt: Django có thể đáp ứng lượng traffic lớn.
1. Cài đặt django
Django là framework giúp cho việc xây dựng các website và phát triển
ứng dụng web một cách dễ dàng nhanh chóng hơn, và ít code hơn. Đầu tiên
chúng
ta
truy
cập
vào
trang
chủ
của
django
//www.djangoproject.com/download/ để

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

24 |

tìm hiểu và download. Đầu tiên cần tải pip về để cài đặt Django. Chúng ta tải
pips tại //pip.pypa.io. Tiến hành download file get-pip.py về.
Tiếp theo chúng ta bật cửa sổ CMD lên và chạy file get-pip.py..

Hình 1.1 Cài đặt pip

Sau khi cài xong pips ta tiến hành download Django bằng cách gõ câu lệnh:
“ pip install Django” để cài đặt django.

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

25 |

2. Tạo project
Bật của sổ CMD trên máy tính và gõ lệnh django-admin startproject mysite
Trong đó django-admin startproject là lệnh để tạo project , mysite là tên của
project
Chúng ta cũng có thể sử dụng mơi trường lập trình PyCharm để làm việc .Sau
khi đã cài đặt được django trên máy tính, trong cửa sổ terminal của PyCharm
chúng ta sẽ tiến hành tạo project bằng lệnh “django-admin startproject
mysite”.

Hình 2.1 Tạo project
Lệnh startproject sẽ tạo một thư mục có tên là mysite, cấu trúc bên trong thư
mục sẽ gồm các file , mỗi file sẽ để làm một số công việc khác nhau như chạy
server hay cài đặt cấu hình server.

Hình 2.2 Cấu trúc project
3. Chạy server

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

26 |

Sử dụng mơi trường lập trình pycharm.Trong của sổ terminal chúng ta chạy
sever bằng file manage.py với tham số là runserver.
Chúng ta chuyển đến thư mục có chứa file manage.py [hoặc dùng lệnh cd [địa
chỉ thư mục ] và gõ lệnh:
“python manage.py runserver” để chạy server.

Sau đó chúng ta truy cập vào đường dẫn //127.0.0.1.8000/ hoặc
//localhost:8000/ để xem chúng ta đã chạy server thành cơng chưa.

Hình 3.1Chạy server
4. Tạo Web App
Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

27 |

Web App là một project bao gồm nhiều app, trong đó mỗi app thực hiện một
cơng việc riêng biệt và thư mục này chứa các file chuẩn của một ứng dụng web
Django.
Tạo web app bằng lệnh “python manage.py startapp polls”
Trong đó “python manage.py startapp” là lệnh để tạp web app. “polls” là tên
app. Một thư mục với tên polls sẽ được tạo ra và có cấu trúc như sau:
myproject\mysite\polls

Hình 4.1 Cấu trúc App
5. Model
Model là phần ánh xạ giữa CSDL và python để python lấy được CSDL thơng
qua model.

Hình 5.1 Ví dụ CSDL

Chúng ta tiến hành xây dựng một mơ hình thăm dị ý kiến đơn giản có 2 trường
là Question[câu hỏi] và Choice [lựa chọn] dựa trên mơ hình CSDL hình 5.1.

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

28 |

Trong file models.py ta viết lệnh để xây dựng một mơ hình thăm dị ý kiến đơn
giản với 2 class question và choice
Với trường Question có kiểu mà text với 200 kí tự và thêm định dang thời gian
Choice câu trả lời có kiểu text và có thể tích vào câu trả lời để bình chọn [vote].
myproject\mysite\models.py

Sau đó ta cấu hình trong file url.py của app polls để hiển thị view thăm dò ý
kiến [list] chạy với đường dẫn là //localhost:8000/polls/list.
Polls/urls.py

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

29 |

Truy cập đường dẫn //localhost:8000/polls/list và bình chọn cho các câu
hỏi. kết quả bình chọn sẽ được gửi lên và lưu lại.

Đây là một ví dụ đơn giản về 1 cuộc thăm dò ý kiến với câu hỏi là “bạn thích
màu gì” nếu thích màu đỏ thì tích vào ơ màu đỏ và gửi, nếu thích màu xanh thì
tích vào màu xanh và gửi, kết quả sẽ được gửi lên trên server và sẽ hiển thị bình
chọn [VOTE] xem kết quả mà chúng ta vừa chọn.

Sau mỗi lần ấn gửi chúng ta có thể xem được số lượng bình chọn của kết quả là
bao nhiêu và thực hiện vòng lặp vote tiếp hoặc kết thúc.

Đồ Án Tốt Nghiệp Đại Học- Nguyễn Đại Cường- CT1901C

30 |

Chủ Đề