Báo cáo thực tập tốt nghiệp khoa CNTT K10 HAUI - Pdf 58

1

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------

THỰC TẬP TỐT NGHIỆP
NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI
LẬP TRÌNH WEB BẰNG PYTHON
Sinh viên thực hiện

: MA VĂN SÔNG

Lớp

: Khoa học máy tính 4 – khóa 10

Giảng viên hướng dẫn: Ths.NGÔ VĂN BÌNH


2

Mục lục
I. TÓM TẮT ĐỀ TÀI....................................................................................................................................4
1.Tên đề tài..................................................................................................................................................4
2. Lý do chọn đề tài....................................................................................................................................4
3. Mục đích..................................................................................................................................................4
4. Mục tiêu...................................................................................................................................................4
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT..............................................................................................................5

Việc thực hiện đề tài còn nhiều điểm chưa hoàn thiện.Vì vậy em rất mong nhận được
sự chỉ bảo của các thầy cô để hoàn thiện đề tài .
Em xin chân thành cảm ơn !
Hà Nội ,tháng 5 năm 2018
Sinh viên


4

I. TÓM TẮT ĐỀ TÀI
1.Tên đề tài
Đề tài mang tên: Lập trình web bằng python – website rao vặt bất động sản
2. Lý do chọn đề tài
Nước ta đang bước vào thời kỳ vàng son của dân số. Kéo theo đó là nhu cầu nhà ở rất
lớn tại các thành phố lớn như Hà Nội, Hồ Chí Minh … Cũng như các vùng khác trên toàn
Việt Nam.
Nhu cầu mua bán bất động sản ngày một tăng lên. Cùng với sự phát triển của công nghệ
4.0 bắt buộc người mua và bán bất động sản phải thay đổi hình thức marketing truyền
thống sang hình thức marketing mới. Giúp cho người mua và bán bất động sản có thể tìm
được đúng đối tượng cần mua, bán bất động sản.
Với nhu cầu thiết yếu đó, việc nên có một kênh chuyên về mua bán bất động sản là rất
cần thiết trong thời buổi hiện nay. Bất động sản là một ngành có đặc thù riêng biệt và có
nhiều lĩnh vực khác nhau.
3. Mục đích
Cung cấp một kênh chuyên biệt về mua bán bất động sản tại Việt Nam. Giúp cho
người mua, bán nhà đất có thể đăng bài bán nhà. Người có nhu cầu mua nhà vào xem và
lựa chọn cho mình ngôi nhà phù hợp theo nhu cầu của mình.
4. Mục tiêu
- Tìm hiểu về ngôn ngữ lập trình Python
- Tìm hiểu về Framework Django


ảo Java, và điện thoại di động (Nokia Series 60). Với cùng một mã nguồn sẽ chạy giống
nhau trên mọi nền tảng.
Python rất đơn giản và dễ học
Python có cộng đồng lập trình rất lớn, hệ thống thư viện chuẩn, và cả các thư viện
mã nguồn mở được chia sẻ trên mạng.
Python là ngôn ngữ mã nguồn mở
Python dùng giấy phép nguồn mở nên được sử dụng và phân phối tự do, ngay cả
trong việc thương mại. Giấy phép Python được quản lý bởi Python Software
Foundation.

1.1.2. Lịch sử phát triển
Python đã được hình thành vào cuối những năm 1980, và việc thực hiện nó vào tháng
12 năm 1989 bởi Guido van Rossum tạiCentrum Wiskunde & Informatica
(CWI) ở Hà Lan như là một kế thừa cho 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 trong việc quyết định hướng phát triển
của Python.


7

Cha đẻ Python Guido Van Rossum

“ Về nguồn gốc của Python, Van Rossum đã viết vào năm 1996:
Hơn sáu năm trước, vào tháng 12 năm 1989, tôi đã tìm kiếm một dự án lập trình "sở
thích" mà nó đã chiếm đóng tâm trí tôi trong suốt tuần lễ Giáng sinh. Văn phòng của
tôi ... sẽ đóng cửa, nhưng tôi đã có một máy tính ở nhà, và không có nhiều thứ khác trên
tay. Tôi quyết định viết một bộ thông dịch (interprester) cho ngôn ngữ kịch bản mới mà
tôi đã từng nghĩ đến: một hậu duệ của ABC có thể hấp dẫn các hacker Unix/C. Tôi đã


-

Kiểu complex: Kiểu số phức,

-

ví dụ 1: z = 2+3j thì 2 là phần thực, 3 là phần ảo (j là từ khóa để đánh dấu phần
ảo)

-

ví dụ 2: z=complex(2,3) thì 2 là phần thực, 3 là phần ảo

-

khi xuất kết quả ta có thể xuất:

-

print(“Phần thực= “,z.real) ==>Phần thực= 2

-

print(“Phần ảo= “,z.imag) ==> Phần ảo= 3

-

Kiểu str: Kiểu chuỗi, để trong nháy đôi hoặc nháy đơn


tiến đến production, và đây cũng là lúc khuyết điểm xuất hiện. So với PHP, quá
trình deploy của Python trên remote server sẽ khá khó khăn nếu mới thực hiện lần
đầu.
Các dịch vụ nổi tiếng như Instagram, Reddit, Quora và Disqus đều được phát triển
trên nền Python.

1.2.1. Giới thiệu về Framework Django
Trang chủ của Framework Django: https://www.djangoproject.com/


10

Framework Django

 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). Django được phát triển
bởi Django Software Foundation(DSF) – một tổ chức phi lợi nhuận độc lập.
 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” của các component, tính năng phát triển nhanh, không làm lại những gì
đã làm. Một số website phổ biến được xây dựng từ Django
là Pinterest, Instagram, Mozilla, và Bitbucket.
Một số thế mạnh của Django so với các framework khác:
 Học tập nhanh. Tương tự Python, Django cũng rất dễ học, không như Ruby hay
Rails.
 Tự động tạo SQL tables. Django sẽ thay bạn làm công việc này khi bạn đã xác
định được cấu trúc.
 Tạo forms. Khi bạn đã tạo được Form class trong Django và linked đến model,
form generator trong Django sẽ đảm nhận render form, xác minh và lưu trưc
tiếp data.

 Urls (Router): Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết
(link). Khi một liên kết được tạo ra bằng cách sử dụng tên của routes, thì một
định danh liên kết thống nhất sẽ được tạo ra bởi laravel.
 Makemigrations, migrate: cung cấp một hệ thống kiểm soát các phiên
bản lược đồ cơ sở dữ liệu (database cheme), làm cho web ứng dụng có khả năng
tương tác phù hợp những thay đổi logic, các đoạn mã code của ứng dụng và
những thay đổi cần thiết trong việc bố trí cơ sở dữ liệu, triển khai nới lỏng và
cập nhật các ứng dụng.
 Tests: Cho phép lập trình viên viết code để test các chức năng trong mỗi app.
 Paginations: Tính năng tự động phân trang được đưa vào django giúp đơn
giản hóa các nhiệm vụ thực hiện phân trang so với các phương pháp thông
thường.
1.2.4 Cách cài đặt
Trước khi cài đặt Django yêu cầu máy của chúng ta đã cài đặt Python, có thể là
Python 2.x hoặc 3.x . 1 phần mềm web server như xampp. Bản thân django mặc định
sinh ra cho chúng ta một cơ sở dữ liệu mặc định là Sqlite. Chúng ta cũng có thể kết
nối với các cơ sử dữ liệu khác như Mysql, MongoDB, PostgreSql …
Chúng ta sẽ dùng Python 3.6 và Django 2.0 để tạo app này. Và tất nhiên, chúng ta vẫn
đang ở trong folder myfirstapp và đã activate virtualenv.
Tạo project
Django có sẵn chức năng tạo một project template có cấu trúc hoàn chỉnh và mẫu mực
cho một Project mà chúng ta đang muốn code. Trên cmd của window chúng ta gõ câu
lệnh như hình bên dưới:
$ django-admin startproject mysite


13

Và một folder tên mysite đã được tạo ra, chứa các thành phần căn bản trong đó cho các
Developer.

Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work
properly until they are applied.
Run 'python manage.py migrate' to apply them.
December 16, 2016 - 15:50:53
Django version 1.10, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.


15

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ
2.1.Khảo sát, phát biểu và mô tả bài toán
2.1.1. Khảo sát
Nhu cầu mua, bán nhà ở hay bất động sản đang ngày một tăng lên tại Việt Nam. Do
đang ở thời kỳ vàng của dân số, thu nhập của người dân ngày một tăng lên. Vậy nên
đại đa số người dân Việt Nam đều có nhu cầu mua bán nhà đất.
Theo nghiên cứu của CBRE Việt Nam, phân khúc cao cấp và hạng sang ghi nhận mức
tăng vào khoảng 8 - 9% so với năm ngoái. Loại hình nhà ở trung cấp, bình dân gần
như ít biến động, chỉ những dự án đẹp mới có mức tăng tầm 1 - 3%. Dự kiến giá nhà
cao cấp có thể tăng lên đến 6.000 - 7.000 USD/m2 khi nguồn cung trong trung tâm
hạn chế. Còn phân khúc trung cấp sẽ ổn định và khó tăng giá cao.
Xu hướng mua bất động sản để an cư cũng đang giảm dần trong năm 2018, nhường
chỗ cho hình thức đầu tư. Điều này có thể thấy ở phân khúc cao cấp và hạng sang,
nhu cầu mua đầu tư chiếm đến 61% thay vì 50% như 2017, khách hàng mua để ở chỉ
chiếm 26% và đầu tư ngắn hạn tầm 13%, trong khi năm 2017 mua để ở là 35% và đầu
tư ngắn hạn là 15%.
Năm 2018 cũng là năm ghi nhận sự thay đổi trong nhu cầu mua nhà của khách ngoại.



17

 Mô tả tóm tắt:
- Tên ca sử dụng: Đăng nhập
- Mục đích: Cho phép người dùng đăng nhập vào hệ thống để có thể thực hiện
đầy đủ chức năng của hệ thống.
- Hình thức: Đăng nhập bằng tài khoản đã đăng ký.
 Mô tả chi tiết:
- Ca sử dụng bắt đầu khi người dùng muốn đăng nhập vào hệ thống hoặc đăng
nhâp để thực hiện các chức năng khác của hệ thống.
- Hệ thống hiển thị màn hình đăng nhập, cho phép người dùng đăng nhâp bằng tài
khoản đã đăng ký tại website.
- Đăng nhập bằng tài khoản đăng ký trực tiếp tại website, người dùng thực hiện nhập
tên đăng nhập, mật khẩu và kích chọn đăng nhập.
- Chọn “Lưu mật khẩu đăng nhập” Nếu muốn tự động đăng nhập cho những
lần truy suất sau.
- Hệ thống kiểm tra tính xác thực của tài khoản người dùng, xác thực xem tên
đăng nhập và mật khẩu mà người dùng nhập vào đã đúng chưa.
Nếu tên đăng nhập hoặc mật khẩu không chính xác thực hiện luồng xử lý đăng nhập
lỗi E4: Người dùng nhập sai tên hoặc mật khẩu. Hệ thống hiển thị Message “ERROR:
Invalid username. Bạn quên mật khẩu?” Người dùng phải nhập lại tên và mật khẩu, sau
đó tiếp tục ca sử dụng, trong trường hợp người dùng không nhập lại tên hoặc mật khẩu
thì ca sử dụng kết thúc.
- Ca sử dụng kết thúc


18


đăng ký tài khoản thực hiện luồng xử lý lỗi E2: email đã tồn tại, hệ thống yêu cầu
người dùng nhập địa chỉ email khác hoặc thực hiện đăng nhập với tài khoản có địa chỉ
email đó. Nếu 2 trường hợp mật khẩu không nhập giống nhau thực hiện luồng xử lý
đăng ký lỗi E3: Mật khẩu không trùng khớp yêu cầu người dùng nhập lại trường mật
khẩu. Nếu điền hợp lệ tất cả các trường đăng ký sẽ thành công và ca sử dụng kết thúc.

b. Biểu đồ hoạt động


22


23

c. Biểu đồ lớp tham gia ca sử dụng

d. Biểu đồ trình tự


24

2.2.2.3. Usecase Tìm kiếm
a. Mô tả Usecase
 Mô tả tóm tắt:
- Tên ca sử dụng: tìm kiếm thông tin bất động sản, tin rao vặt
- Đối tượng: người dùng
- Mục đích: giúp người dùng tìm kiếm nhà đất hoặc tin tức muốn tìm
 Mô tả chi tiết:
- Ca sử dụng bắt đầu khi người dùng vào hệ thống.
- Hệ thống hiển thị chức năng tìm kiếm ngay trên giao diện web


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status