FRAMEWORK DJANGO FRAMEWORK DJANGOFRAMEWORK DJANGO FRAMEWORK DJANGO XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB. XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB. XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB. XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB. Đầu tiên là việc lựa chọn website rao vặt, với tiêu chí tạo sự thoải mãi cho người sử dụng, nhóm em sẽ không lựa chọn những website như: yêu cầu xác nhận rao vặt qua điện thoại, thu phí mỗi lần rao vặt. Những website mà nhóm lựa chọn sẽ gồm có website rao vặt không cần tài khoản và cần tài khoản đăng nhập. Trong đó gồm có: tudomuaban.com, raovat113.com, canmuaban.vn, đều là những website có lượng thông tin rao vặt hàng ngày lớn. Các phần chính trong việc triển khai website: Theo vết thông tin rao vặt khi một người dùng rao vặt ở các website trên: 2 phương thức hoạt động chính của một website là: POST và GET dữ liệu đến Web – Server của website, sau đó Server sẽ xử lý và trả về dữ liệu và Brower hiển thị cho người dùng. o Sử dụng công cụ Inspect của Browers, chuyển qua mục Network và theo dõi các method POST, GET. Thao tác từng bước rao vặt trên một website và ghi chú lại những thông tin cần thiết như: Responsive Headers, Request Headers, Form Data(dữ liệu mà ta nhập). o Từ thông tin có được, đặc biệt là trong phần Form Data(cấu trúc dữ liệu gửi lên Web – Server của website) và thông tin viewsource website ở mục thông tin lựa chọn, ta biết được các dữ liệu đó tương ứng với gì(đã số dữ liệu trong Form Data là số, như category_id, location_id). Ví dụ theo vết: XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB.XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB.XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB.XÂY DỰNG WEBSITE PYTHON TỔNG HỢP RAO VẶT TỪ CÁC TRANG WEB. FRAMEWORK DJANGOFRAMEWORK DJANGOFRAMEWORK DJANGO
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE TỔNG HỢP RAO VẶT
GVHD: ThS Trần Thị Dung
Nhóm sinh viên:
TP.HCM, tháng 6 năm 2016
Trang 2Lời mở đầu
Ngày nay, công nghệ thông tin nói riêng và Internet nói chung đang là một yếu tốcần thiết trong hầu hết các lĩnh vực của đời sống Các thông tin trên Internet được cậpnhật liên tục, nhanh chóng và chính xác Và website là một ứng dụng phổ biến hiện naytrên Internet Nó đang ngày phát triển mạnh mẽ và có nhiều ứng dựng thực tiễn trongcuộc sống
Người tiêu dùng Việt Nam đã xem Internet là một công cụ để tìm kiếm thông tin
về những sản phẩm, mặt hàng, những thông tin về người bán, người mua Thực tế, hiệnnay trên Internet có rất nhiều website rao vặt nhằm tạo liên kết giữa người bán và ngườimua, hỗ trợ người mua biết thêm nhiều thông tin về sản phẩm mình cần mua, rao quảngcáo và đưa các thông tin về bất động sản, phòng trọ, nhà ở … Tuy nhiên, những thông tin
về các sản phẩm mình cần bán, cần mua chỉ đến được một website mà mình đăng tin trên
đó mà thôi
Do đó nhóm em chọn đề tài “Xây dựng website tổng hợp rao vặt” nhằm giúp
cho người sử dụng có thể dễ dàng đăng tin rao vặt trên các trang rao vặt như:canmuaban.vn, raovat123.com, tudomuaban.com… với một lần đăng duy nhất mà khôngcần phải thao tác nhiều
Trang 3Lời cảm ơn
Để hoàn thành được đề tài này nhóm chúng em chân thành cảm ơn Quý Thầy/Côtrong khoa Mạng Máy Tính và Truyền Thông đã nhiệt tình chỉ dẫn và giúp đỡ, trong đónhóm xin gửi lời cảm ơn sâu sắc đến ThS Trần Thị Dung đã nhiệt tình hướng dẫn chonhóm các bước để thực hiện đề tài, giúp nhóm giải quyết nhiều khó khăn và nảy ra nhiều
ý tưởng mới Đồng thời nhóm cũng gửi lời cảm ơn đến các anh/chị khóa trên, các bạntrong lớp đã đóng góp ý kiến để nhóm hoàn thiện bài báo cáo một cách tốt nhất
Mặc dù nhóm chúng em đã cố gắng, tuy nhiên trong một thời gian ngắn cũng nhưkiến thức còn nhiều hạn chế nên chắc chắn không thể tránh khỏi những sai sót Chúng emrất mong nhận được những sự đánh giá, góp ý của cô để hoàn thiện kiến thức của mìnhhơn
Một lần nữa, nhóm chúng em xin chân thành cảm ơn cô rất nhiều!
Tp Hồ Chí Minh, tháng 06 năm 2016
Sinh viên thực hiện
Trang 4
Nhận xét của giáo viên hướng dẫn
ĐỀ CƯƠNG ĐỒ ÁN MÔN HỌC
1 Tên đề tài :
Xây dựng Website tổng hợp rao vặt
2 Giảng viên hướng dẫn :
ThS Trần Thị Dung
3 Sinh viên thực hiện :
4 Thời gian thực hiện: 03/2016 đến 06/2016
Trang 55 Nội dung đề tài :
Tìm hiểu, giới thiệu về ngôn ngữ lập trình Python
Tìm hiểu và xây dựng giao diện bằng HTML, CSS, jQuery, Boostrap …
Tìm hiểu và xây dựng website trên Framework Django
Tìm hiểu về hệ quản trị cơ sở dữ liệu SQLite
6 Cấu trúc báo cáo
Chương 1: Giới thiệu đề tài Chương này trình bày về bối cảnh, mục đích và lý do
chọn đề tài
Chương 2: Cơ sở lý thuyết Chương này trình bày các lý thuyết cơ bản về python,
framwork django, sql lite
Chương 3: Phân tích thiết kế hệ thống Chương này trình bày về phân tích và thiết
kế xây dựng hệ thống của website tổng hợp rao vặt
Chương 4: Triển khai website Chương này trình bày hướng triển khai về kết quả
demo chương trình, thông tin sản phẩm, cách cài đặt và hướng dẫn sử dụng
Chương 5: Kết luận, hướng phát triển đề tài Chương này tổng kết về những kết
quả đạt được, những ưu khuyết điểm của chương trình và hướng phát triển
Trang 6Chương 1: TỔNG QUAN ĐỀ TÀI1.1 Tên đề tài
Xây dựng website “Tổng hợp rao vặt”
1.2 Thực trạng và lý do chọn đề tài
1.2.1 Thực trạng vấn đề
Hiện nay Internet ngày càng phát triển thì hình thức mua bán trên mạng internet lạicàng trở nên phổ biến Ở Việt Nam hình thức này tiến triển khá nhanh và tập trung vàohầu hết các lĩnh vực trong cuộc sống.Vì thế rao vặt trực tuyến là một sự lựa chọn thôngminh cho các nhà kinh doanh hay một cá nhân, tổ chức nào đó
Trên hàng tỉ người đang sử dụng internet hằng ngày, phần lớn họ thường đọc cáctin rao vặt khi lướt web và đó là cơ hội lớn để các nhà kinh doanh hay cá nhân, tổ chứcnào đó có thể quảng bá, tiếp thị sản phẩm của mình đến với nhà tiêu dùng
1.2.2 Hướng giải quyết
Cũng chính vì những vấn đề trên mà nhóm đã nảy ra ý tưởng và tiến hành xây dựnglên website “Tổng hợp rao vặt” Nhằm đáp ứng mọi nhu cầu mua bán, trao đổi những sảnphẩm, mặt hàng và cả những dịch vụ cho những tổ chức, công ty, cá nhân có nhu cầu.Thông tin sẽ được truyền tải đến người sử dụng một cách nhanh chóng và hiệu quảnhất giúp người dùng dễ dàng tìm kiếm thông tin sản phẩm mình cần và giúp quảng básản phẩm đến tay người tiêu dùng một cách rộng rãi nhất có thể
Website sẽ giúp người dùng phát tán các tin rao vặt lên các website rao vặt khác vàgiúp quảng bá tin rao vặt đến tất cả mọi người ghé thăm website Tin rao vặt của ngườidùng sẽ có cơ hội rất cao để được một số lượng người dùng lớn đang sử dụng các dịch vụmua bán trực tuyến biết đến vào theo dõi
Trang 7Chương 2 : CƠ SỞ LÝ THUYẾT2.1 Ngôn ngữ Python và SQLite
2.1.1 Ngôn ngữ Python
2.1.1.1 Python là gì?
Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm
1990 Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động, do vậy nótương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl Python được phát triển trong một dự
án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.[1]
Theo đánh giá của Eric S Raymond, Python là ngôn ngữ có hình thức rất sángsủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấu trúc của Python còncho 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ư nhận định củachính Guido van Rossum trong một bài phỏng vấn ông
Ban đầu, Python được phát triển để chạy trên nền Unix Nhưng rồi theo thời gian,
nó đã "bành trướng" sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows,Linux và các hệ điều hành khác thuộc họ Unix Mặc dù sự phát triển của Python có sựđóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủyếu của Python Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển củaPython
Trang 8Hình 2.0 : Python
2.1.1.2 Các phiên bản
Python 1: bao gồm các bản phát hành 1.x Giai đoạn này, kéo dài từ đầu đến cuốithập niên 1990 Từ năm 1990 đến 1995, Guido làm việc tại CWI (Centrum voorWiskunde en Informatica – Trung tâm Toán-Tin học tại Amsterdam, Hà Lan) Vì vậy, cácphiên bản Python đầu tiên đều do CWI phát hành Phiên bản cuối cùng phát hành tại CWI
là 1.2
Python 2: vào năm 2000, Guido và nhóm phát triển Python dời đến BeOpen.com
và thành lập BeOpen PythonLabs team Phiên bản Python 2.0 được phát hành tại đây Saukhi phát hành Python 2.0, Guido và các thành viên PythonLabs gia nhập DigitalCreations
Python 3, còn gọi là Python 3000 hoặc Py3K: Dòng 3.x sẽ không hoàn toàn tươngthích với dòng 2.x, tuy vậy có công cụ hỗ trợ chuyển đổi từ các phiên bản 2.x sang 3.x.Nguyên tắc chủ đạo để phát triển Python 3.x là “bỏ cách làm việc cũ nhằm hạn chế trùnglặp về mặt chức năng của Python”
2.1.1.3 Những ưu điểm của Python
Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc, bố cụctrực quan, dễ hiểu Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kí hiệu vàcấu trúc cú pháp so với các ngôn ngữ khác
Python đã hỗ trợ cho một chế độ tương tác cho phép thử nghiệm tương tác và gỡlỗi các đoạn mã Việc thực hiện tiêu chuẩn của Python được viết trong ANSI C, và biêndịch và chạy trên hầu như tất cả các nền tảng lớn hiện đang sử dụng
Python cho phép chia chương trình thành các module để có thể sử dụng lại trongcác chương trình khác Nó cũng cung cấp sẵn một tập hợp các modules chuẩn mà lậptrình viên có thể sử dụng lại trong chương trình của họ Các module này cung cấp nhiềuchức năng hữu ích, như các hàm truy xuất tập tin, các lời gọi hệ thống, trợ giúp lập trình
Trang 9mạng (socket) … Python có khả năng giao tiếp đến hầu hết các loại cơ sở dữ liệu, có khảnăng xử lí văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công nghệ Web khác.
GUI (Giao diện đồ họa người dùng) đơn giản và nhanh chóng Python cũng làmcho người dùng đồ họa hướng đối tượng tiêu chuẩn để các Tk GUI API gọi là Tkinter(Tkinter trong 2.x) cho phép các chương trình Python để thực hiện ảnh minh hoạ di độngvới một cái nhìn tự nhiên và cảm nhận
2.1.2 SQLite
2.1.2.1 SQLite là gì?
SQLite là phần mềm quản lý cơ sở dữ liệu (DBMS) Database ManagementSystem tương tự như MySQL, PostgreSQL Đặc điểm của SQLite là gọn, nhẹ, đơn giản.Chương trình gồm 1 file duy nhất vỏn vẹn chưa đến 500KB, không cần cài đặt, khôngcần cấu hình hay khởi động mà có thể sử dụng ngay Dữ liệu database cũng được lưu ởmột file duy nhất Không có khái niệm user, password hay quyền hạn trong SQLitedatabase SQLite vẫn có transaction để đảm bảo tính toàn vẹn và an toàn trong quá trìnhthao tác dữ liệu Có thể so sánh nó có một vài điểm giống với Access, nhưng nhìn chungvẫn có nhiều sự khác biệt [2]
SQLite không thích hợp với những hệ thống lớn nhưng ở quy mô vừa tầm thìSQLite phát huy uy lực và không hề yếu kém về mặt chức năng hay tốc độ Với các đặcđiểm trên SQLite được sử dụng nhiều trong việc phát triển, thử nghiệm v v và là sự lưachọn phù hợp cho những người bắt đầu học database
2.1.2.2 Một số ưu điểm của SQLite
SQLite có các ưu điểm sau:
- Tin cậy: các hoạt động transaction (chuyển giao) nội trong cơ sở dữ liệu được thựchiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng
- Tuân theo chuẩn SQL92 (chỉ có một vài đặc điểm không hỗ trợ)
- Không cần cài đặt cấu hình
- Kích thước chương trình gọn nhẹ, với cấu hình đầy đủ chỉ không đầy 500 kB
Trang 10- Thực hiện các thao tác đơn giản nhanh hơn các hệ thống cơ sở dữ liệu khách/chủkhác.
- Không cần phần mềm phụ trợ
- Phần mềm tự do với mã nguồn mở, được chú thích rõ ràng
2.1.2.3 Một vài đặc tính của SQLite
- Zero-Configuration: Bạn hoàn toàn không phải thiết lập bất kỳ một cấu hình nào
để có thể sử dụng SQLite, tất cả những gì bạn cần là một file SQLite.exe và chạy
- Serverless: Các Hệ quản trị CSDL như SQLServer, Oracle, PostgreSQL thường
cần một server riêng để triển khai ứng dụng, cài đặt database engine, các máykhách sẽ kết nối đến server để xử lý dữ liệu một cách tập trung Tuy nhiên SQLitekhông làm việc theo cách này mà ứng dụng sẽ truy xuất trực tiếp vào filedatabase, các máy khách cũng có thể truy xuất một file database SQLite để trênmột server thông qua cơ chế chia sẻ và bảo mật file của hệ điều hành, người dùngnào truy cập được vào thư mục và có quyền đọc – ghi thì sẽ có thể đọc ghi vàofile database SQLite
- Single Database File: Database do SQLite tạo ra là một file dữ liệu duy nhất Tất
cả chỉ có thế
- Stable Cross-Platform Database File: Bạn có thể copy file database SQLite từ hệ
thống này sang hệ thống khác, từ hệ thống 32 hay 64 bit, từ phiên bản SQLite nàysang phiên bản khác mà không cần chuyển đổi, nâng cấp hệ điều hành, cấu trúc
hệ thống hay phải làm lại file database
- Compact: Cực kỳ nhỏ gọn Toàn bộ thư viện SQLite gồm một file duy nhất vỏn
vẹn chưa đến 500kB, không cần cài đặt, không cần cấu hình hay khởi động mà cóthể sử dụng ngay Nếu lược bỏ một số chức năng không cần thiết thì kích thướccủa file có thể giảm chỉ còn khoảng 300kB
- Manifest typing: Khi bạn dùng SQLite sẽ để ý là số lượng kiểu dữ liệu của nó rất
ít, điều này là một đặc trưng của nó, bởi trong SQLite, kiểu dữ liệu là một thuộctính của chính giá trị được lưu chứ không phải là thuộc tính của cột lưu giá trị đó.Tuy vậy, cũng có một vài ràng buộc, là với cột khóa chính kiểu integer thì phảilưu giá trị phải chính xác là kiểu int, ngoài ra SQLite cũng cố gắng chuyển đổi
Trang 11kiểu của giá trị sang kiểu của cột lưu nó khi có thể Mục đích của việc thiết kếkiểu dữ liệu như vậy nhằm làm cho nó tin cậy và đơn giản hóa việc sử dụng, vàcũng để dễ tương thích hơn khi sử dụng với các ngôn ngữ như Tcl hoặc Python
- Variable-length records: Dữ liệu lưu bao nhiêu thì hệ thống cấp phát cho bấy
nhiêu không gian bộ nhớ cho từng dòng dữ liệu, không cấp phát thừa hoặc thiếukhông gian lưu trữ cho dữ liệu, nhờ đó mà file database trở nên nhỏ gọn và tốc độ
xử lý dữ liệu cũng nhanh hơn [3]
2.2 Ngôn ngữ HTML
2.2.1 Cấu trúc chung của một trang HTML
HTML là chữ viết tắt của HyperText Markup Language, có nghĩa là ngôn ngữđánh dấu siêu văn bản Nó dùng để định dạng bố cục, các thuộc tính liên quan đến cáchhiển thị của một đoạn text và được hiển thị trên một chương trình đặc biệc ta gọi làBrowser Hiện nay có khá nhiều Browser như Firefox, Chrome, Cốc Cốc, .Tất cảBrowser đều có điểm chung là giúp người dùng thao tác với website và nó đều có khảnăng biên dịch những đoạn mã HTML, CSS và Javascript [4]
Thông thường bố cục HTML của một website có dạng như sau:
Hình 2.1 : Bố cục HTML cơ bản của một website
Trong đó:
Trang 12- <!DOCTYPE html> là phần khai báo kiểu dữ liệu hiển thị là html để trình
duyệt (Browser) biết
- <html> và </html> là cặp thẻ nằm ngoài cùng và nó có nhiệm vụ là bao hết nội
dung của trang web lại Thẻ này là bắt buộc
- <head> và </head> là phần khai báo thông tin của trang web
- <title> và </title> nằm bên trong thẻ <head> và đây chính là khai báo tiêu đề
cho trang web
- <body> và </body> là thành phần quan trọng nhất, nó chứa nhưng đoạn mã
HTML dùng để hiển thị trên website
- Các thẻ còn lại nằm trong thẻ <body> chính là các thẻ định dạng dữ liệu.
Như vậy một website chúng ta chia thành 2 phần chính :
- Phần 1: Là những khai báo thông tin cho trang web và ta đặt nó trong thẻ head.
- Phần 2: Là phần hiển thị định dạng nội dung của trang web và ta đặt trong thẻ
Trang 14Hình 2.7 : Ví dụ về thẻ định dạng List
2.2.3 CSS
CSS là chữ viết tắt của cụm từ tiếng Anh "Cascading Style Sheet", nó là một ngônngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánhdấu (ví dụ như HTML) Có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạngcác phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽgiúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màusắc trang, đổi màu chữ, thay đổi cấu trúc,…rất nhiều [5]
Có một ví dụ trực quan để diễn tả nhiệm vụ của CSS như sau, giả sử bạn xây nhà
và bạn sẽ sử dụng gạch để xây dựng ngôi nhà Nhưng để trang trí cho ngôi nhà thì bạn sẽ
sử dụng một số đồ nội thất khác như sơn màu, thì lúc này sơn màu sẽ tác động làmthay đổi color mặc định của gạch Nói ví von thì màu sơn chính là CSS và gạch chính làHTML
CSS đóng một vai trò rất quan trọng khi bạn xây dựng giao diện website Thôngthường bạn sẽ sử dụng một chương trình thiết kế như Photoshop để tạo giao diện, sau đócác Frontend Developer sẽ dựa vào file đó kết hợp với HTML & CSS để convert thànhmột file có đuôi mở rộng là html, file này sẽ chứa code HTML và CSS
CSS có nhiều kiểu nhưng gom lại thì chúng ta sẽ có các thể loại CSS thông dụngnhư sau:
- Background: CSS tùy chỉnh hình nền
- Text: CSS tùy chỉnh cách hiển thị đoạn text
- Font: CSS tùy chỉnh kích thước, kiểu chữ
- Link: CSS tùy chỉnh link
- List: CSS tùy chỉnh danh sách
- Table: CSS tùy chỉnh bảng
- Box model: Mô hình box model kết hợp padding, margin, border
-
2.3 Framework Django
Trang 152.3.1 Giới thiệu
Django là một web framework miễn phí mã nguồn mở được viết bằng Python.Django sử dụng mô hình Model-View-Control (MVC), được phát triển bởi DjangoSoftware Foundation(DSF) – một tổ chức phi lợi nhuận độc lập Nó không phải là mộtmicro-framework như Flask, mà là một framework với đầy đủ các thư viện, module hỗtrợ các web-developer [6]
Django được đưa vào sử dụng rộng rãi từ năm 2005, ban đầu là một frameworkhướng đối tượng cho một website của tờ báo ở Kansas Ngay lập tức framework nàyđược phổ biến và phát triển rất mạnh Django rất thích hợp để xây dựng nên các trangweb lớn Đó là lí do tại sao Django đang dần được phổ biến nhằm triển khai các dự ánmột cách nhanh chóng với những quy mô lớn
Hình 2.8 : Framework Django
2.3.2 Một số ưu điểm của Framework Django
- 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, RSS feed,
Trang 16- Đả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
như SQL Injection, cross-site scripting, cross-site request forgery hay clickjackingnữa Django cũng cung cấp cả phương pháp để lưu mật khẩu an toàn nữa
- Khả năng mở rộng tốt: Django có thể đáp ứng lượng traffic lớn, nghĩa là bạn
không cần phải lo lắng về khả năng scale sản phẩm của mình nữa
- Tính linh hoạt: Xây dựng CMS, hoặc Ecommerce Website, hay kể cả Social
Network, Scientific Computing Platforms, tất cả đều có thể với Django
2.3.3 Cấu trúc của một Django project
Để tạo một project Django thì bạn mở Command Prompt (cmd) lên và chuyển đếnthư mục mà bạn muốn tạo, sau đó gõ đoạn lệnh phía trên, ở trên chúng ta tạo một project
với tên là doan Khi đặt tên project bạn tránh đặt những tên trùng với các từ khóa có sẵn
trong Python như sys, os, django… để tránh bị xung đột
Hình 2.9 : Tạo project Django
Lệnh startproject sẽ tạo một thư mục có tên là doan, cấu trúc bên trong thư mục sẽnhư thế này:
Hình 2.10 : Cấu trúc của một Django Project
Trong đó:
doan/: ngoài cùng là root directory chứa project.
Trang 17 manage.py: đây là 1 command-line utility cho phép mình thao tác với theo nhiều
cách với project hiện hành của mình
doan/: bên trong là gói các package Python mình sẽ sử dụng cho project
doan/ init .py: là 1 file rỗng chỉ định việc cái đường dẫn này sẽ được xem như
là 1 Python package
doan/settings.py: Settings/configuration cho project Django
doan/urls.py: khai báo URL cho project
doan/wsgi.py: entry-point cho tích hợp web server WSGI
Trang 18Chương 3 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG
- Quản lý liên hệ: Xem, chỉnh sửa, xử lý thông tin liên hệ - phản hồi
- Quản lý tin rao vặt: Thêm, xóa, sửa dữ liệu rao vặt
- Quản trị hệ thống: Thêm, xóa, sửa quản trị viên website
3.2.1 Quản trị hệ thống
- Khi quản trị viên muốn thêm người quản lý website quản trị viên sẽ thêm adminvào trong dữ liệu
3.2.2 Quản lý tin rao vặt
- Đăng nhập vào hệ thống quản trị
- Vào danh mục các tin đã đăng -> tiến hành thêm, sửa, xóa dữ liệu rao vặt
3.2.3 Quản lý liên hệ
- Khi người sử dụng gửi yêu cầu hỗ trợ vấn đề nào đó thì quản trị viên sẽ quản lý
thông tin liên hệ của khách hàng
- Quản trị viên sẽ xem và xử lý yêu cầu của khách hàng.
- Sau khi xử lý xong yêu cầu liên hệ của người sử dụng, quản trị viên sẽ xóa thông
tin liên hệ đó đi
3.3 Sơ đồ phân rã chức năng.