Trong loạt bài này, chúng ta sẽ sử dụng Python, Flask và MySQL để tạo một ứng dụng web đơn giản từ đầu. Nó sẽ là một ứng dụng danh sách nhóm đơn giản, nơi người dùng có thể đăng ký, đăng nhập và tạo danh sách nhóm của họ
Hướng dẫn này giả định rằng bạn đã có một số kiến thức cơ bản về ngôn ngữ lập trình Python. Chúng tôi sẽ sử dụng Flask, một khung ứng dụng web Python, để tạo ứng dụng của chúng tôi, với MySQL là phần cuối
Giới thiệu về Python Flask
Flask là một khung Python để tạo các ứng dụng web. Từ trang web chính thức
Flask là một microframework cho Python dựa trên Werkzeug, Jinja 2 và những mục đích tốt
Khi chúng ta nghĩ về Python, khung thực tế xuất hiện trong đầu chúng ta là khung Django. Nhưng từ quan điểm của người mới bắt đầu Python, Flask dễ bắt đầu hơn khi so sánh với Django
1. Thiết lập Flask
Thiết lập Flask khá đơn giản và nhanh chóng. Với trình quản lý gói
@app.route["/"]52, tất cả những gì chúng ta cần làm là
1
pip install flask
Khi bạn đã hoàn tất việc cài đặt Flask, hãy tạo một thư mục có tên FlaskApp. Điều hướng đến thư mục FlaskApp và tạo một tệp có tên ứng dụng. py. Nhập mô-đun
@app.route["/"]53 và tạo một ứng dụng bằng Flask như được hiển thị
1
from flask import Flask
2
app = Flask[__name__]
Bây giờ hãy xác định tuyến đường cơ bản
@app.route["/"]54 và trình xử lý yêu cầu tương ứng của nó
1
@app.route["/"]
2
def main[]:
pip install flask
0pip install flask
1Tiếp theo, kiểm tra xem tệp được thực thi có phải là chương trình chính hay không và chạy ứng dụng
1
pip install flask
3_______6_______2_______5Lưu các thay đổi và chạy ứng dụng. py
1
pip install flask
7Trỏ trình duyệt của bạn tới http. //máy chủ cục bộ. 5000/ và bạn sẽ có thông báo chào mừng
2. Tạo Trang chủ
Đầu tiên, khi ứng dụng chạy, chúng ta sẽ hiển thị trang chủ với các mục danh sách nhóm mới nhất do người dùng thêm vào. Vì vậy, hãy thêm trang chủ của bạn vào thư mục ứng dụng của bạn
Flask tìm kiếm các tệp mẫu bên trong thư mục mẫu. Vì vậy, hãy điều hướng đến thư mục FlaskApp và tạo một thư mục có tên là mẫu. Bên trong các mẫu, tạo một tệp có tên là chỉ mục. html. Mở chỉ mục. html và thêm HTML sau
1
pip install flask
92
11
pip install flask
013
14
15
16
17
18
15
from flask import Flask0
from flask import Flask1
from flask import Flask2
from flask import Flask3
from flask import Flask4
from flask import Flask5
from flask import Flask6
from flask import Flask7
from flask import Flask8
from flask import Flask9
20
21
22
23
24
25
26
27
15
29
app = Flask[__name__]0
app = Flask[__name__]1
app = Flask[__name__]2
app = Flask[__name__]3
app = Flask[__name__]4
app = Flask[__name__]5
app = Flask[__name__]6
app = Flask[__name__]7
app = Flask[__name__]8
app = Flask[__name__]9
10
11
12
13
14
15
16
17
18
19
@app.route["/"]0
@app.route["/"]1
@app.route["/"]2
@app.route["/"]3
@app.route["/"]4
@app.route["/"]5
@app.route["/"]
Mở ứng dụng lên. py và nhập
@app.route["/"]55, mà chúng tôi sẽ sử dụng để hiển thị các tệp mẫu
1
140
Sửa đổi phương thức chính để trả về tệp mẫu được hiển thị
1
def main[]:
2
144
Lưu các thay đổi và khởi động lại máy chủ. Trỏ trình duyệt của bạn tới http. //máy chủ cục bộ. 5000/ và bạn sẽ có màn hình bên dưới
3. Tạo trang đăng ký
Bước 1
Thiết lập cơ sở dữ liệu
Chúng tôi sẽ sử dụng MySQL làm phần cuối. Vì vậy, hãy đăng nhập vào MySQL từ dòng lệnh hoặc nếu bạn thích GUI như MySQL Workbench, bạn cũng có thể sử dụng nó. Đầu tiên, tạo một cơ sở dữ liệu có tên là BuckList. Từ dòng lệnh
1
146
Nhập mật khẩu được yêu cầu và khi đăng nhập, hãy thực hiện lệnh sau để tạo cơ sở dữ liệu
1
148
Khi cơ sở dữ liệu đã được tạo, hãy tạo một bảng có tên là tbl_user như được hiển thị
11_______50_______6_______
152
pip install flask
0_______1_______5414
156
16
158
18
160
Chúng tôi sẽ sử dụng
@app.route["/"]56 cho ứng dụng Python của chúng tôi để tương tác với cơ sở dữ liệu MySQL. Vì vậy, khi bảng tbl_user đã được tạo, hãy tạo một thủ tục được lưu trữ có tên là sp_createUser để đăng ký người dùng
Khi tạo thủ tục lưu trữ để tạo người dùng trong bảng tbl_user, trước tiên chúng ta cần kiểm tra xem người dùng có cùng tên người dùng đã tồn tại chưa. Nếu nó tồn tại, chúng ta cần đưa ra lỗi cho người dùng, nếu không, chúng ta sẽ tạo người dùng trong bảng người dùng. Đây là cách thủ tục được lưu trữ sp_createUser sẽ trông như thế nào
1
162
2
164
pip install flask
0166
14
168
16
170
18
172
from flask import Flask0
174
from flask import Flask2
176
from flask import Flask4
178
from flask import Flask6
180
from flask import Flask8
178
20
184
22
178
24
188
25
190
27
192
29
194
app = Flask[__name__]1
196
app = Flask[__name__]3
198
app = Flask[__name__]5
from flask import Flask00
app = Flask[__name__]7
190
app = Flask[__name__]9
from flask import Flask04
11
from flask import Flask06
13
from flask import Flask08
15
from flask import Flask10
17
178
19
from flask import Flask14
@app.route["/"]1
from flask import Flask16
@app.route["/"]3_____
Bước 2
Tạo giao diện đăng ký
Điều hướng đến thư mục FlaskApp/templates và tạo một tệp HTML có tên là đăng ký. html. Thêm mã HTML sau để đăng ký. html
1
pip install flask
92
11
pip install flask
013
14
15
16
from flask import Flask28
18
15
from flask import Flask0
from flask import Flask1
from flask import Flask2
from flask import Flask3
from flask import Flask4
from flask import Flask5
from flask import Flask6
from flask import Flask7
from flask import Flask8
from flask import Flask9
20
21
22
from flask import Flask44
24
23
25
27
26
29
15
app = Flask[__name__]1
app = Flask[__name__]0
app = Flask[__name__]3
app = Flask[__name__]2
app = Flask[__name__]5
from flask import Flask57
app = Flask[__name__]7
app = Flask[__name__]6
app = Flask[__name__]9
app = Flask[__name__]8
11
10
13
12
15
14
17
16
19
18
@app.route["/"]1
@app.route["/"]0
@app.route["/"]3
@app.route["/"]2
@app.route["/"]5________0____
Đồng thời thêm CSS sau khi đăng ký. css vào thư mục tĩnh bên trong FlaskApp
1
app = Flask[__name__]51
2
app = Flask[__name__]53
pip install flask
0app = Flask[__name__]55
14
app = Flask[__name__]57
16
18
app = Flask[__name__]60
from flask import Flask0
app = Flask[__name__]62
from flask import Flask2
app = Flask[__name__]64
from flask import Flask4
app = Flask[__name__]66
from flask import Flask6
app = Flask[__name__]57
from flask import Flask8
app = Flask[__name__]70
20
app = Flask[__name__]72
22
app = Flask[__name__]74
24
app = Flask[__name__]57
25
app = Flask[__name__]72
27
app = Flask[__name__]80
29
app = Flask[__name__]57
app = Flask[__name__]1
app = Flask[__name__]84
app = Flask[__name__]3
app = Flask[__name__]86
app = Flask[__name__]5
app = Flask[__name__]88
app = Flask[__name__]7
app = Flask[__name__]90
app = Flask[__name__]9
app = Flask[__name__]92
11
app = Flask[__name__]94
13
app = Flask[__name__]96
15
app = Flask[__name__]98
17
app = Flask[__name__]57
19
102
@app.route["/"]1
104
@app.route["/"]3
app = Flask[__name__]57_____
trong ứng dụng. py, hãy thêm một phương thức khác có tên là
@app.route["/"]57 để hiển thị trang đăng ký sau khi có yêu cầu tới
@app.route["/"]58
1
128
2
130
pip install flask
0132
Lưu các thay đổi và khởi động lại máy chủ. Nhấp vào nút Đăng ký trên trang chủ và bạn sẽ có trang đăng ký như được hiển thị
Bước 3
Triển khai phương thức đăng ký
Tiếp theo, chúng ta cần một phương thức phía máy chủ để giao diện người dùng tương tác với cơ sở dữ liệu MySQL. Vì vậy, hãy điều hướng đến FlaskApp và mở ứng dụng. py. Tạo một phương thức mới gọi là
@app.route["/"]59 và cũng thêm một tuyến đường
@app.route["/"]60. Đây là cách nó trông
11_______34
2
136
pip install flask
0_______1_______38Chúng tôi sẽ sử dụng AJAX để đăng dữ liệu đăng ký của mình lên phương thức
@app.route["/"]57, vì vậy chúng tôi cần chỉ định phương thức trong định nghĩa tuyến đường
Để đọc các giá trị đã đăng, chúng tôi cần nhập
@app.route["/"]62 từ Flask
1
140
Sử dụng
@app.route["/"]62, chúng ta có thể đọc các giá trị đã đăng như hình bên dưới
1
142
2
136
pip install flask
0146
14
148
16
150
18
152
Khi các giá trị được đọc, chúng tôi chỉ cần kiểm tra xem chúng có hợp lệ hay không và hiện tại, hãy trả lại một tin nhắn đơn giản
11_______54
2
156
pip install flask
0158
14
160
16
162
18_______1_______64
from flask import Flask0
from flask import Flask2
167
from flask import Flask4
169_______5_______6____
171_______5_______8_______7_______8_______ 7
Đồng thời nhập
@app.route["/"]64 từ Flask, vì chúng tôi đang sử dụng nó trong đoạn mã trên để trả về dữ liệu
@app.route["/"]64
1
177
Bước 4
Tạo yêu cầu đăng ký
Chúng tôi sẽ sử dụng API
@app.route["/"]66 để gửi yêu cầu đăng ký tới phương thức Python. Vì vậy, hãy đính kèm sự kiện nhấp vào nút đăng ký như được hiển thị
1
179
2
181
pip install flask
0183
14
185
16
187
18
189
from flask import Flask0
191
from flask import Flask2
193
from flask import Flask4
195
from flask import Flask6
197
from flask import Flask8
199
20
@app.route["/"]01
Bạn nên đặt tập lệnh này bên trong thẻ
@app.route["/"]67 ở cuối tài liệu đăng ký. Lưu tất cả các thay đổi và khởi động lại máy chủ. Từ trang Đăng ký, điền thông tin chi tiết và nhấp vào Đăng ký. Kiểm tra bảng điều khiển trình duyệt và bạn sẽ có thông báo bên dưới
1
@app.route["/"]03
Bước 5
Gọi thủ tục lưu trữ MySQL
Khi chúng tôi có tên, địa chỉ email và mật khẩu, chúng tôi chỉ cần gọi thủ tục lưu trữ MySQL để tạo người dùng mới
Để kết nối với MySQL, chúng tôi sẽ sử dụng , đây là tiện ích mở rộng Flask. Để bắt đầu với Flask-MySQL, hãy cài đặt nó bằng trình quản lý gói
@app.route["/"]52
1
@app.route["/"]05
Nhập MySQL bên trong ứng dụng. py
1
@app.route["/"]07
Trước đó, chúng tôi đã xác định ứng dụng của mình như được hiển thị
1
app = Flask[__name__]
Cùng với đó, bao gồm các cấu hình MySQL sau
10_______11_______6_______
pip install flask
0_______1_______4@app.route["/"]15
16
@app.route["/"]17
18_______0_______19
from flask import Flask0
@app.route["/"]21
from flask import Flask2
@app.route["/"]23
from flask import Flask4
@app.route["/"]25
Đầu tiên, hãy tạo kết nối MySQL
1
@app.route["/"]27
Khi kết nối được tạo, chúng tôi sẽ yêu cầu một
@app.route["/"]69 để truy vấn thủ tục được lưu trữ của chúng tôi. Vì vậy, sử dụng kết nối
@app.route["/"]70, tạo một con trỏ
1
@app.route["/"]29
Trước khi gọi thủ tục tạo người dùng được lưu trữ, hãy tạo mật khẩu của chúng ta bằng cách sử dụng trình trợ giúp do Werkzeug cung cấp. Nhập mô-đun vào ứng dụng. py
1
@app.route["/"]31
Sử dụng mô-đun tạo muối để tạo mật khẩu băm
1
@app.route["/"]33
Bây giờ, hãy gọi thủ tục
@app.route["/"]71
1
@app.route["/"]35
Nếu thủ tục được thực hiện thành công, thì chúng tôi sẽ thực hiện các thay đổi và trả về thông báo thành công
10_______37_______6_______
pip install flask
0_______1_______4_______0_______4116
@app.route["/"]43
18
@app.route["/"]45
from flask import Flask0_______0_______47
from flask import Flask2
@app.route["/"]49
Lưu các thay đổi và khởi động lại máy chủ. Chuyển đến trang đăng ký và nhập tên, địa chỉ email và mật khẩu rồi nhấp vào nút Đăng ký. Khi tạo người dùng thành công, bạn sẽ thấy một thông báo trong bảng điều khiển trình duyệt của mình
1
@app.route["/"]51
gói nó lên
Trong hướng dẫn này, chúng ta đã thấy cách bắt đầu tạo một ứng dụng web bằng Python Flask, MySQL và tiện ích mở rộng Flask-MySQL. Chúng tôi đã tạo và thiết kế các bảng cơ sở dữ liệu và một thủ tục được lưu trữ, đồng thời chúng tôi đã triển khai chức năng đăng ký. Trong hướng dẫn tiếp theo, chúng ta sẽ đưa loạt bài này lên một tầm cao mới bằng cách triển khai chức năng đăng nhập và một số tính năng khác
Mã nguồn cho hướng dẫn này có sẵn trên GitHub
Bài đăng này đã được cập nhật với sự đóng góp từ Jacob Jackson. Jacob là nhà phát triển web, nhà văn kỹ thuật, người làm nghề tự do và người đóng góp nguồn mở