Python là một ngôn ngữ rất dễ học do cú pháp thân thiện với người dùng. Hơn nữa, Python có nhiều thư viện nguồn mở và hầu hết mọi trường hợp sử dụng Python đều có thư viện hiện có cho điều đó
Python có một số khung ứng dụng web như Django và Flask. Flask là một khung ứng dụng web Python mã nguồn mở, nhẹ
Flask được thiết kế để giúp bạn dễ dàng thiết lập và chạy một ứng dụng đơn giản
Chúng tôi sẽ sử dụng MongoDB làm cơ sở dữ liệu. MongoDB là một nền tảng cơ sở dữ liệu hướng tài liệu đa nền tảng. Nó sử dụng các đối tượng JSON làm bộ dữ liệu của nó
Khi làm việc với ứng dụng web, bạn có thể không biết chính xác định dạng dữ liệu được gửi. Trong những trường hợp như vậy, một cơ sở dữ liệu NoSQL như MongoDB sẽ là một giải pháp tốt để xử lý và lưu trữ dữ liệu
Trong bài viết này, chúng ta sẽ tạo một ứng dụng ghi chú đơn giản bằng Flask và MongoDB
điều kiện tiên quyết
Để theo dõi bài viết này, các thông tin cơ bản sau đây sẽ rất cần thiết
- Kiến thức cơ bản về làm việc với Python
- Python được cài đặt trên máy tính của bạn
- MongoDB được cài đặt trên máy tính của bạn
- Pip được cài đặt trên máy tính của bạn
Thiết lập ứng dụng Flask
Chúng tôi sẽ sử dụng virtualenv để thiết lập ứng dụng. Virtualenv là một công cụ để tạo môi trường Python độc lập. Nó ngăn cài đặt toàn cầu các phụ thuộc chỉ được sử dụng trong một ứng dụng
Chạy lệnh bên dưới để cài đặt virtualenv
pip install virtualenv
Để kiểm tra xem virtualenv đã được cài đặt đúng chưa, hãy chạy lệnh sau
virtualenv --version
Để bắt đầu, hãy chạy lệnh sau trong thư mục dự án nơi bạn muốn dự án cư trú
virtualenv venv
Nếu môi trường không được kích hoạt tự động bằng cách có tên thư mục dự án của bạn ở phía bên trái, thì hãy chạy lệnh sau để kích hoạt nó
source venv/bin/activate
Sau khi được kích hoạt, chúng tôi cần hai phụ thuộc
- bình - Điều cần thiết để thiết lập tài nguyên web
- PyMongo - Điều này sẽ hình thành cơ sở hạ tầng từ MongoDB cho ứng dụng của chúng tôi
Để cài đặt các phụ thuộc, hãy sử dụng lệnh bên dưới
pip install flask PyMongo
Thiết lập MongoDB
Để bắt đầu thiết lập MongoDB trong ứng dụng của mình, chúng ta cần tạo một tệp
virtualenv --version
9 tại thư mục gốc của dự án. Đây sẽ là tập tin chính của chúng tôiTrong tệp
virtualenv --version
9 này, hãy thêm khối mã saufrom flask import Flask
from flask_pymongo import PyMongo
app = Flask[__name__]
app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse"
mongo = PyMongo[app]
if __name__ == "__main__":
app.run[debug=True]
Ở đây, chúng tôi đã thực hiện cấu hình cơ bản cho một ứng dụng Flask cơ bản. Chúng tôi;
- Đã nhập các gói cần thiết
- Thiết lập biến
1 chínhvirtualenv venv
- Đã khởi tạo một thể hiện của
2virtualenv venv
- Bắt đầu ứng dụng ở chế độ
3. Điều này có nghĩa là mỗi thay đổi chúng tôi thực hiện đối với ứng dụng sẽ được tải lại tự độngvirtualenv venv
Để kiểm tra điều này, hãy chạy lệnh bên dưới
virtualenv --version
1Lệnh trên sẽ khởi động ứng dụng. Bạn có thể truy cập nó từ cổng số 5000; . e.
virtualenv venv
4. Hiện tại, bạn sẽ nhận được thông báo virtualenv venv
5 vì chúng tôi chưa xác định bất kỳ tuyến đường nàoHãy để chúng tôi đạt được điều đó trong bước tiếp theo
Thiết lập các tuyến đường
Trước tiên, chúng ta hãy nhập mô-đun
virtualenv venv
6 từ virtualenv venv
7virtualenv --version
6Chúng tôi sẽ có bốn tuyến đường
- Lộ trình tìm nạp ghi chú
- Lộ trình thêm ghi chú
- Lộ trình chỉnh sửa ghi chú
- Lộ trình xóa ghi chú
Hãy để chúng tôi bắt đầu bằng cách thêm tuyến đường để tìm nạp ghi chú. Đây sẽ là trang chủ
Thêm phần sau vào tệp
virtualenv --version
9 của bạnvirtualenv --version
8Bất cứ khi nào một người truy cập trang chủ [/], trình trang trí sẽ thực thi chức năng bên dưới, hàm này sẽ trả về một đoạn văn
Hãy để chúng tôi làm tương tự cho tuyến đường
virtualenv venv
9, tuyến đường source venv/bin/activate
0 và tuyến đường source venv/bin/activate
1 bằng cách thêm đoạn mã sauvirtualenv venv
2Tuyến đường
virtualenv venv
9 chấp nhận hai phương thức; Áp dụng tương tự cho
source venv/bin/activate
0; Tại thời điểm này, chúng tôi chỉ trả lại các đoạn văn cho các trang. Chúng tôi cần trả lại nhiều nội dung trực quan hơn và xử lý logic nhận xét cho các tuyến không trả lại trang. Chúng tôi làm điều này trong bước tiếp theo
Thêm logic và mẫu vào các tuyến đường
Đầu tiên, chúng tôi sẽ nhập mô-đun
source venv/bin/activate
8 và source venv/bin/activate
9 từ virtualenv venv
7virtualenv --version
0Như tên gợi ý,
source venv/bin/activate
8 sẽ tải tệp mẫu pip install flask PyMongo
2 và source venv/bin/activate
9 sẽ được gọi khi chuyển hướng từ tuyến này sang tuyến khác, đặc biệt là những tuyến không trả lại trangLàm việc trên các mẫu
Trong thư mục gốc của dự án, tạo một thư mục và đặt tên là
pip install flask PyMongo
4. Bên trong thư mục, tạo tệp pip install flask PyMongo
5 và thêm đoạn mã sauvirtualenv --version
1Để nâng cao khả năng sử dụng lại mã, tất cả các mẫu sẽ được tải từ một tệp cơ sở. Hơn nữa, vì Flask sử dụng Jinja để tạo khuôn mẫu nên nội dung động sẽ được tải trên mỗi trang
Theo tệp ở trên, chỉ có
pip install flask PyMongo
6 và pip install flask PyMongo
7 sẽ khác nhau cho mỗi trang và đó là những gì chúng tôi muốn trong ứng dụng đơn giản của mìnhLộ trình trang chủ
Trong thư mục mẫu, tạo thư mục
pip install flask PyMongo
8. Bên trong, tạo tệp pip install flask PyMongo
9 và thêm mã bên dướivirtualenv --version
2Trong tệp trên, chúng tôi là
- Mở rộng tệp cơ sở mà chúng tôi đã tạo trước đó
- Đặt tiêu đề của trang
- Đặt phần thân của trang, bao gồm kiểm tra xem chúng tôi đã thêm ghi chú chưa. Nếu có, chúng tôi lặp qua chúng hoặc chúng tôi đưa ra thông báo và lời kêu gọi hành động. Đối với mỗi ghi chú, chúng tôi đang hiển thị ngày tạo, tiêu đề và mô tả của nó
Trong
virtualenv --version
9, chỉnh sửa chức năng tuyến đường from flask import Flask
from flask_pymongo import PyMongo
app = Flask[__name__]
app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse"
mongo = PyMongo[app]
if __name__ == "__main__":
app.run[debug=True]
1 như hình bên dướivirtualenv --version
3Trong hàm
from flask import Flask
from flask_pymongo import PyMongo
app = Flask[__name__]
app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse"
mongo = PyMongo[app]
if __name__ == "__main__":
app.run[debug=True]
2, chúng tôi là- Tìm nạp các ghi chú từ cơ sở dữ liệu;
- Trả lại chế độ xem, truyền dữ liệu.
3 vàfrom flask import Flask from flask_pymongo import PyMongo app = Flask[__name__] app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse" mongo = PyMongo[app] if __name__ == "__main__": app.run[debug=True]
4 cho thanh điều hướng để đặt trang hoạt động vàfrom flask import Flask from flask_pymongo import PyMongo app = Flask[__name__] app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse" mongo = PyMongo[app] if __name__ == "__main__": app.run[debug=True]
5 cho dữ liệu được tìm nạpfrom flask import Flask from flask_pymongo import PyMongo app = Flask[__name__] app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse" mongo = PyMongo[app] if __name__ == "__main__": app.run[debug=True]
Để kiểm tra tuyến đường về nhà này, hãy đảm bảo ứng dụng của bạn đang chạy và làm mới trang trên trình duyệt. Vì bạn không có bất kỳ ghi chú nào được thêm vào, bạn sẽ nhận được một tin nhắn và lời kêu gọi hành động
Lộ trình thêm ghi chú
Trong
from flask import Flask
from flask_pymongo import PyMongo
app = Flask[__name__]
app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse"
mongo = PyMongo[app]
if __name__ == "__main__":
app.run[debug=True]
6, tạo một tệp from flask import Flask
from flask_pymongo import PyMongo
app = Flask[__name__]
app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse"
mongo = PyMongo[app]
if __name__ == "__main__":
app.run[debug=True]
7. Trong tập tin này, thêm đoạn mã sauvirtualenv --version
4Trong tệp trên, chúng tôi là;
- Mở rộng tệp
5 chungpip install flask PyMongo
- Đặt tiêu đề
- Đặt nội dung, là biểu mẫu có tiêu đề và trường mô tả
Trong
virtualenv --version
9, sửa hàm virtualenv --version
10 như sauvirtualenv --version
5Khi chúng tôi có một cuộc gọi
source venv/bin/activate
3 trong chức năng trên, chúng tôi chỉ cần trả lại một chế độ xem với các biến cấu hình thanh điều hướngKhi chúng tôi có cuộc gọi
source venv/bin/activate
4, chúng tôi sẽ nhận dữ liệu được gửi từ biểu mẫu, lưu nó vào cơ sở dữ liệu và chuyển hướng đến trang chủĐể kiểm tra chức năng, hãy đảm bảo rằng máy chủ phát triển đang chạy và làm mới trang
virtualenv venv
9. Bạn sẽ thấy một biểu mẫu, khi bạn điền và gửi nó, bạn sẽ được chuyển hướng đến trang chủ; Lộ trình chỉnh sửa ghi chú
Trong thư mục
from flask import Flask
from flask_pymongo import PyMongo
app = Flask[__name__]
app.config["MONGO_URI"] = "mongodb://localhost:27017/flaskCrashCourse"
mongo = PyMongo[app]
if __name__ == "__main__":
app.run[debug=True]
6, tạo tệp virtualenv --version
15. Trong tệp, thêm đoạn mã sauvirtualenv --version
6Trong tệp ở trên, chúng tôi mở rộng tệp
pip install flask PyMongo
5 phổ biến, thêm tiêu đề và nội dung cơ thể; Trong
virtualenv --version
9, sửa hàm virtualenv --version
18 như sauvirtualenv --version
7Trong chức năng trên, chúng tôi có hai cuộc gọi
- Một cuộc gọi
3, nơi chúng tôi nhận được các chi tiết ghi chú từ cơ sở dữ liệu bằng cách sử dụng id của nó và hiển thị biểu mẫu bằng các chi tiết đósource venv/bin/activate
- Một cuộc gọi
4, nơi chúng tôi nhận được các chi tiết cập nhật từ biểu mẫu và cập nhật ghi chú từ cơ sở dữ liệu, sau đó bạn được chuyển hướng đến trang chủsource venv/bin/activate
Để kiểm tra chức năng này
- Đảm bảo máy chủ phát triển đang chạy
- Làm mới trang chủ
- Đối với bất kỳ ghi chú nào, hãy nhấp vào chỉnh sửa, chỉnh sửa bất kỳ trường nào rồi nhấn
61. Các chi tiết mới nên được phản ánhvirtualenv --version
Lộ trình xóa ghi chú
Trong
virtualenv --version
9, chỉnh sửa virtualenv --version
63 như sauvirtualenv --version
8Từ chức năng trên, chúng tôi sẽ xóa
virtualenv --version
64 của ghi chú, xóa nó khỏi cơ sở dữ liệu và chuyển hướng nó đến trang chủ