Trang 7 o Nhờ đó, bạn có thể vừa phát triển web theo phong cách riêng, vừa tiết kiệmđược thời gian Linh hoạt:o Django có thể sử dụng để xây dựng hầu hết mọi loại trang web- từ hệ thốngq
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN MÔN HỌC : LẬP TRÌNH PYTHON CHỦ ĐỀ : PHÁT TRIỂN Website bán hàng Giảng viên : Vũ Minh Mạnh Nhóm thực : 12 Sinh viên thực : Lê Trung Đức – B21DCNN243 Nguyễn Đình Đồng – B21DCCN231 Hồng Văn Minh Hiếu – B21DCCN051 Nguyễn Văn Quân – B21DCCN615 Hà Nội, tháng 10 năm 2023 MỞ ĐẦU Website kênh giới thiệu sản phẩm thật tuyệt vời hữu ích cho doanh nghiệp Các sản phẩm đưa đến với khách hàng cách chi tiết cụ thể thơng qua hình ảnh thông tin rõ ràng Khách hàng thực bị thuyết phục với cách giới thiệu trực quan sinh động website Từ họ có ấn tượng tốt với sản phẩm có khả mua hàng nhanh chóng Với website riêng, doanh nghiệp tận dụng nguồn traffic khác để tăng lượng truy cập vào web Trong chủ yếu nguồn từ tìm kiếm tự nhiên – SEO Khi kết hợp nguồn traffic website, doanh nghiệp thu hút thêm khách hàng đến trang web tối ưu hoạt động bán hàng Website mặt doanh nghiệp Internet phản ánh đầy đủ thông tin, sản phẩm đặc điểm doanh nghiệp Chính xây dựng website ấn tượng bật, doanh nghiệp trở nên tin cậy uy tín lịng cơng chúng Đây cách để doanh nghiệp khẳng định giá trị chuyên nghiệp Bên cạnh bán hàng trực tiếp cửa hàng, website kênh bán hàng phổ biến Sự phát triển internet thói quen online người dùng đưa đến hiệu cao bán hàng internet Website giúp đẩy mạnh hoạt động bán hàng lúc nơi mà không cần đến điều khiển người Khi website xây dựng cách, khách hàng khơng cần đến cửa hàng mà mua hàng dễ dàng web giúp tăng hài lịng họ Phân cơng thực hiện: STT Tên thành viên Mã sinh viên Nội dung thực Lê Trung Đức B21DCCN243 Phân tích tập lớn, tìm hiểu lý thuyết (Django, (trưởng nhóm) HTML) Tìm hiểu chức ,viết code, làm báo cáo phần chức Nguyễn Đồng Hoàng Văn B21DCCN051 Phân tích tập lớn, tìm hiểu lý thuyết (Django, Minh Hiếu HTML).Tìm hiểu giao diện, viết code, làm báo cáo phần lý thuyết giao diện Nguyễn Qn Đình B21DCCN231 Phân tích tập lớn, tìm hiểu lý thuyết (Django, HTML).Tìm hiểu giao diện, viết code , làm slide Văn B21DCCN615 Phân tích tập lớn, tìm hiểu lý thuyết (Django, HTML).Tìm hiểu chức năng, viết code , thuyết trình LỜI CẢM ƠN Trước tiên với tình cảm sâu sắc chân thành nhất, cho phép chúng em bày tỏ lòng biết ơn đến tất cá nhân tổ chức tạo điều kiện hỗ trợ, giúp đỡ chúng em suốt trình học tập nghiên cứu đề tài Trong suốt thời gian từ bắt đầu học tập trường đến nay, chúng em nhận nhiều quan tâm, giúp đỡ quý Thầy Cơ bạn bè Với lịng biết ơn sâu sắc nhất, chúng em xin gửi đến quý Thầy Cô Khoa CNTT đặc biệt thầy truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập vừa qua Nhờ có lời hướng dẫn, dạy bảo thầy cô nên đề tài nghiên cứu chúng em hồn thiện tốt Bài báo cáo thực tập thực khoảng thời gian gần tuần Bước đầu vào thực tế chúng em hạn chế nhiều bỡ ngỡ nên khơng tránh khỏi thiếu sót, chúng em mong nhận ý kiến đóng góp quý báu quý Thầy Cô để kiến thức chúng em lĩnh vực hoàn thiện đồng thời có điều kiện bổ sung, nâng cao ý thức Chúng em xin chân thành cảm ơn! NHẬN XÉT (Của giảng viên hướng dẫn) Điểm: Nhận xét đánh giá: CHƯƠNG I : CƠ SỞ LÝ THUYẾT I Tổng quan Django Django gì? 1.1 Khái niệm Django loại framework cấp cao viết Python, thiết kế để đáp ứng nhu cầu phát triển website an toàn dễ bảo trì Bởi Framework xây dựng nhà phát triển có kinh nghiệm nên có khả xử lý hầu hết phần phức tạp việc phát triển web Do đó, bạn tập trung vào việc viết app mà khơng cần phải dừng lại để kiểm tra. Lý khiến Django phổ biến framework sở hữu cộng đồng lớn Thậm chí, họ xây dựng trang web riêng biệt dành cho Django, nơi nhà phát triển đóng góp Package bên thứ ba, bao gồm xác thực, ủy quyền, hệ thống CMS thức hỗ trợ Django, tiện ích bổ sung thương mại điện tử,… 1.2 Tính chất Sử dụng ngôn ngữ Python o Python cho ngơn ngữ lập trình dễ học cấu trúc đơn giản cú pháp dễ dàng Ngôn ngữ linh hoạt để phát triển trang web, ứng dụng PC ứng dụng di động nhúng nhiều thiết bị Độ hoàn thành cao: o Django cung cấp hầu hết thứ mà developer muốn để phát triển web theo hướng muốn o Tất phần framework hoạt động liền mạch với nhau, tuân theo nguyên tắc thiết kế quán có tài liệu để bạn tham khảo o Nhờ đó, bạn vừa phát triển web theo phong cách riêng, vừa tiết kiệm thời gian Linh hoạt: o Django sử dụng để xây dựng hầu hết loại trang web- từ hệ thống quản lý nội dung (như wiki), trang mạng xã hội, tin tức o Nó hoạt động với framework bên ngồi cung cấp nội dung hầu hết định dạng (bao gồm HTML, RSS feeds, JSON, XML, v v ) o Framework cung cấp tùy chọn khác cho hầu hết chức (như công cụ tạo template, sở liệu phổ biến, ) Bảo mật: o Django giúp developer tránh nhiều lỗi bảo mật phổ biến cách cung cấp framework có khả tự bảo vệ trang o Ví dụ: Django cung cấp giải pháp an toàn để quản lý tài khoản người dùng mật (password), tránh lỗi phổ biến đưa thông tin phiên vào nơi dễ bị cơng cookie (thay vào cookie chứa key liệu thực tế lưu trữ database) trực tiếp lưu trữ password khơng phải lưu trữ password hash o Django cịn bảo vệ website khỏi lỗ hổng khỏi loại công mạng như: công SQL injection, Cross-site Scripting, cross-site request forgery clickjacking Khả mở rộng: o Django sử dụng kiến trúc thành phần riêng nên bạn mở rộng quy mơ cách thêm phần cứng vào cấp độ (máy chủ nhớ đệm, máy chủ sở liệu máy chủ ứng dụng) o Instagram ví dụ rõ ràng cho khả mở rộng Khả trì: o Code Django viết cách sử dụng nguyên tắc mẫu thiết kế khuyến khích việc tạo mã bảo trì tái sử dụng o Nó cịn thúc đẩy việc nhóm chức liên quan thành “ứng dụng” tái sử dụng, từ giúp website có khả trì cao Sự phổ biến Django Thực chưa có thống kê cụ thể phố biến framework Việc đánh giá dựa vào số lượng web phổ biến dùng Django, số lượng người đóng góp codebase, số lượng người phát triển tình nguyện lẫn trả cơng Thì cho Django framework phổ biến Các trang web phổ biến sử dụng Django: Disqus, Instagram, Knight Foundation, MacArthur Foundation, Mozilla, National Geographic, Open Knowledge Foundation, Pinterest, and Open Stack Những ưu điểm hạn chế Django 3.1 Ưu điểm Django Django đơn giản nhanh chóng Một mục tiêu Django đơn giản hóa cơng việc cho developer Để làm điều đó, Django framework sử dụng: o Nguyên tắc phát triển nhanh chóng: tức nhà phát triển thực nhiều iteration lúc thay phải bắt đầu lại từ đầu o Nguyên lý DRY (Don’t Repeat Yourself – khơng lặp lại): có nghĩa nhà phát triển tái sử dụng đoạn code có tập trung vào Các đoạn mã trùng lặp khơng cần thiết framework loại bỏ, từ giảm số lượng code Nhờ đó, bạn tiết kiệm nhiều thời gian Bảo mật o Bảo mật ưu tiên hàng đầu Django Nó framework có hệ thống bảo mật tốt o Nhờ hệ thống đó, nhà phát triển tránh vấn đề bảo mật phổ biến như: Clickjacking; Cross-site scripting; Cross-site request forgery; SQL injection o Framework thường xuyên phát hành vá bảo mật Django xem framework đầu việc phản hồi lỗ hổng bảo mật cách báo framework khác Phù hợp với dự án website 3.2 Hạn chế Django Mặc dù Django có ưu điểm trội có điểm hạn chế: o Chỉ định URL quy tắc biểu thức khó thực (đặc biệt với người mới) làm cho dự án nhỏ trở nên phức tạp Thay sử dụng quy tắc biểu thức phức tạp để định nghĩa URL (đường dẫn) ứng dụng Django, điều làm cho q trình trở nên khó khăn, đặc biệt người bắt đầu Điều làm cho dự án nhỏ trở nên phức tạp cần thiết o Lỗi khó để phát hiểu từ thông báo lỗi Trong q trình phát triển, có lỗi xảy ra, thông điệp lỗi thường không rõ ràng, dẫn đến việc tốn thời gian việc xác định nguyên nhân lỗi tệ nữa, bạn khơng biết lỗi đến từ đâu ứng dụng bạn gặp vấn đề o Django có cấu trúc quy tắc cố định, việc tuân theo cấu trúc quan trọng Django có cấu trúc quy tắc cố định mà bạn cần tuân theo phát triển ứng dụng Việc giúp đảm bảo tính ổn định dễ quản lý dự án phần quan trọng để làm cho việc sử dụng Django hiệu 3.3 Lý sử dụng Django cho dự án Web bán hàng: Bởi vì: o Django có nhiều tính bổ sung mở rộng Bạn tạo ứng dụng xử lý lưu lượng truy cập lớn khối lượng lớn thông tin thông qua Django o Django đa tảng (cross-platform) Bạn chạy dự án Mac, Linux PC o Django hoạt động với hầu hết database cho phép sử dụng sở liệu khác tùy thuộc vào dự án Thậm chí, bạn sử dụng nhiều sở liệu lúc Chương II : Phát triển chức cho website bán hàng I Phát triển chức tự động gửi thông báo đặt hàng thành công email khách hàng Mục tiêu Mục tiêu việc phát triển chức gửi thông báo qua email cho website bán hàng Django để giúp website tự động gửi thơng báo cho khách hàng hoạt động mua sắm họ Điều giúp khách hàng nắm tình trạng đơn hàng mình, đồng thời giúp nhà bán hàng tăng cường tương tác với khách hàng chăm sóc khách hàng tốt Triển khai chức Chức gửi thông báo qua email cho website bán hàng Django triển khai theo bước sau: Bước : Tạo sở liệu lưu trữ thông tin khách hàng, bao gồm email thông tin khác cần thiết để gửi thông báo Bước : Xây dựng API cho phép website tự động gửi thông báo qua email khách đặt hàng b) Hiển thị gửi email thành công II Phát triển chức tìm kiếm sản phẩm Mục tiêu Mục tiêu việc phát triển chức tìm kiếm sản phẩm cho website bán hàng Django để giúp khách hàng dễ dàng tìm kiếm sản phẩm theo nhu cầu Điều giúp khách hàng tiết kiệm thời gian nâng cao trải nghiệm mua sắm Triển khai chức Chức tìm kiếm sản phẩm cho website bán hàng Django triển khai theo bước sau: Bước : Tạo truy vấn để tìm kiếm sản phẩm mơ hình Product Bước : Tạo giao diện cho phép khách hàng tìm kiếm sản phẩm Kết đạt Sau phát triển chức tìm kiếm sản phẩm cho website bán hàng Django, nhà bán hàng đạt kết sau: Khách hàng dễ dàng tìm kiếm sản phẩm theo nhu cầu Trải nghiệm mua sắm khách hàng cải thiện Doanh số bán hàng nhà bán hàng tăng lên Code 4.1 Tìm kiếm 4.2 Giao diện HTML a) Nút search trang chủ html b) Trang tìm kiếm III Chức xóa sản phẩm chọn Mục tiêu Mục tiêu việc phát triển chức xóa sản phẩm chọn trang web bán hàng Django là Giúp khách hàng có khả điều chỉnh lại giỏ hàng họ theo thay đổi nhu cầu mua sắm tài Tạo điều kiện cho trải nghiệm mua sắm dễ dàng, thuận tiện, thúc đẩy hài lòng tăng khả khách hàng quay lại mua sắm thêm Giúp tiết kiệm thời gian, khách hàng không cần phải xố hết giỏ hàng mà cần xóa sản phẩm không muốn mua Triển khai chức Chức xóa sản phẩm chọn cho website bán hàng Django triển khai theo bước sau: Bước : Tạo truy vấn để xóa sản phẩm khỏi mơ hình Cart Bước : Tạo giao diện cho phép khách hàng xóa sản phẩm chọn Kết đạt Sau phát triển chức xóa sản phẩm chọn cho website bán hàng Django, nhà bán hàng đạt kết sau: Khách hàng dễ dàng xóa sản phẩm khơng muốn mua Khách hàng xem lại sản phẩm chọn giỏ hàng tổng giá trị giỏ hàng Trải nghiệm mua sắm khách hàng cải thiện Tiết kiệm thời gian thao tác mua sắm Doanh số bán hàng nhà bán hàng tăng lên Code 4.1 Chức xoá sản phẩm chọn 4.2 Nút remove giỏ hàng HTML IV Hiển thị số lượng sản phẩm mục sản phẩm Mục tiêu Mục tiêu việc phát triển chức hiển thị số lượng sản phẩm mục sản phẩm cho website bán hàng Django : Giúp nhanh chóng xác định số lượng sản phẩm có sẵn mục tìm kiếm xác sản phẩm họ quan tâm Số lượng sản phẩm hiển thị giúp người mua so sánh đa dạng đưa lựa chọn tốt Tối ưu hóa trải nghiệm mua sắm giúp người mua có nhìn tổng quan tăng khả mua hàng Triển khai chức Chức hiển thị số lượng sản phẩm mục sản phẩm cho website bán hàng Django triển khai theo bước sau: Bước : Tạo truy vấn để lấy số lượng sản phẩm có kho Bước : Tạo giao diện để hiển thị số lượng sản phẩm Kết đạt Sau phát triển chức năng, nhà bán hàng đạt kết sau: Khách hàng có nhìn rõ ràng đa dạng số sản phẩm mục, tăng khả chọn mua thông minh Nâng cao trả nhiệm mua sắm giúp khách hàng tìm kiếm so sánh sản sản phẩm dễ Giúp nhà bán hàng dự trù quản lý tồn kho tốt tránh trường hợp hết hàng Tăng hiệu suất bán hàng, giúp nhà bán hàng quản lý tốt cung cấp sản phẩm phù hợp với nhu cầu thị trường Code 4.1 Tạo hàm đếm sản phẩm 4.2 Giao diện HTML V Hiển thị thông tin liên hệ (Footer) Mục tiêu Mục tiêu phần footer chứa thông tin liên hệ : Cung cấp thông tin liên hệ bao gồm địa chỉ, địa email số điện thoại Giúp liên kết đối tác hợp tác Giao diện web CHƯƠNG III: KẾT LUẬN I Các nội dung đạt - Xây dựng website tương đối hoàn chỉnh giao diện - Nắm kiến thức để xây dựng giao diện web (Front End) - Rèn luyện kỹ xây dựng giao diện web với HTML, CSS, JAVASCRIPT - Vận dụng thư viện để xây dựng giao diện lập trình front end II Các nội dung cần cải tiến - Do thời gian nghiên cứu có hạn nên tập chưa hoàn chỉnh - Chưa tối ưu code - Website nhỏ, cịn mang tính chất mơ III Hướng phát triển - Cần hồn thiện bổ sung thêm nhiều chức - Cập nhật trang quản trị chi tiết - Nâng cấp giao diện, phát triển sâu back-end - Phân quyền quản trị tối ưu - Xây dựng website hoàn chỉnh Phụ lục *Tài liệu tham khảo: www.w3schools.com itlovedesign.blogspot.com websitechuyennghiep.vn sharecode.vn codepen.io responsive-admin-dashboard-template-huykira.net *Link code: https://github.com/nq203/projectDjango