Người dùng có thể truy cập ứng dụng bằng cách cung cấp tên người dùng và Mật khẩu hoặc bằng cách xác thực bằng thông tin đăng nhập mạng xã hội trên màn hình đăng nhập
Python Tkinter
Python cung cấp nhiều lựa chọn để phát triển GUI. Tkinter là phương pháp được sử dụng thường xuyên nhất trong số tất cả các phương pháp GUI. Nó là một giao diện Python tiêu chuẩn cho bộ công cụ Tk GUI do Python cung cấp. Cách tiếp cận nhanh nhất và đơn giản nhất để xây dựng các ứng dụng GUI là với Python và Tkinter. Tkinter làm cho việc xây dựng GUI trở thành một quy trình đơn giản
Python Tkinter cho GUI
Một trong những thành phần ứng dụng GUI phổ biến nhất là biểu mẫu đăng nhập
Người dùng sử dụng Biểu mẫu đăng nhập có thể đăng nhập bằng tên người dùng và Mật khẩu của họ. Người dùng có thể được cấp quyền truy cập đặc quyền khi thông tin đăng nhập đã được xác minh
Chủ đề Đằng sau trang đăng nhập được tạo
Trong hình minh họa này, chúng tôi tạo một chương trình khởi chạy một cửa sổ với các trường cho tên người dùng và Mật khẩu và nút gửi
Người dùng có thể nhấp vào nút Đăng nhập sau khi nhập tên người dùng và Mật khẩu của họ
Một chức năng được chạy để xác minh tên người dùng và Mật khẩu sau khi nhấp vào nút. Bạn phải viết logic ứng dụng của mình để xác minh tên người dùng và thông tin xác thực trong chức năng này
Đối với hình minh họa này, chúng tôi truy xuất tên người dùng và Mật khẩu của người dùng từ chức năng xác minh thông tin xác thực và in chúng ra cửa sổ ứng dụng
Để bắt đầu với mã, chúng ta có thể tách chương trình thành các phần khác nhau
Phần nhập mô-đun
Chúng ta phải nhập mô-đun Tkinter
Chúng tôi sử dụng Tkinter để tạo ứng dụng GUI trong python;
Tạo máy tính lớn
Bây giờ chúng ta sẽ xây dựng khung chính của ứng dụng sau khi nhập các thành phần
Thiết kế bố cục
Theo sự phát triển của Main Frame, ứng dụng sẽ nhận được một số bố cục. Ở đây chúng tôi sử dụng định dạng lưới để căn chỉnh nhãn và trường nhập liệu
Khởi tạo ứng dụng
Bây giờ chúng ta sẽ thực thi ứng dụng trong vòng lặp vô hạn để người dùng có thể nhìn thấy màn hình chính liên tục cho đến khi người dùng thoát khỏi trang
Mã Python cho trang đăng nhập
from Tkinter import *
from functools import partial
def validateLogin[username, password]:
print ["User has entered the username :", username.get[]]
print ["User has entered the password :", password.get[]]
return
# Creating the GUI window
console = Tk [] # Initialization of Tkinter
console.geometry['400x300'] # Size of the window
console.title['Login page for using python Tkinter code']
# Creating input of username
Label1 = Label [console, text="User Name"]. grid [row=0, column=0] # Label to specify Username
Input1 = StringVar[]
# Inputing the user’s name
usernameEntry = Entry [console, text variable = Input1]. grid [row=0, column=1]
# Creating input of Password
# Label to specify Login
Label2 = Label[console,text="Password"].grid[row=1, column=0]
Input2 = StringVar[]
# Inputing the Password
passwordEntry = Entry [console, text variable = Input2, show='*']. grid [row=1, column=1]
validateLogin = partial [validateLogin, Input1, Input2]
# Creating login button
loginButton = Button [console, text="Login", command=validateLogin]. grid [row=4, column=0]
console.mainloop[]
Phần trên được sử dụng để tạo trang đăng nhập bằng GUI, nhập hai đầu vào Chuỗi, một đầu vào là tên người dùng và đầu vào kia là Mật khẩu. Và chúng tôi có thể xác thực người dùng bằng hai đầu vào được thực hiện bằng chức năng xác thực
Khi mã này được thực thi, màn hình đầu ra là giao diện người dùng đơn giản nhập tên người dùng và Mật khẩu và chứa nút đăng nhập. Khi nhấp vào nút đăng nhập sau khi nhập tên người dùng và Mật khẩu và trong đoạn mã trên, chúng tôi đã in tên người dùng và Mật khẩu do người dùng nhập
Sau đây là cửa sổ đầu ra sau khi thực thi đoạn mã trên
Ở đây chúng tôi đang lấy hai đầu vào
Tên người dùng và Mật khẩu để xác minh thông tin đăng nhập của người dùng
Tại đây, tên người dùng và Mật khẩu được in trên bảng điều khiển đầu ra sau khi nhập thông tin đăng nhập của người dùng, nghĩa là tên người dùng và mật khẩu, sử dụng phương thức in chung trong python. Sau đây là hình ảnh của cửa sổ đầu ra sau khi nhập tên người dùng và Mật khẩu và nhấp vào nút đăng nhập
Để hiển thị các dấu sao khi người dùng nhập Mật khẩu, chúng tôi đã sử dụng Mục nhập [. , show = '*'] cho Mật khẩu
Tất nhiên, bạn có thể nâng cao nhãn và cửa sổ GUI. Tuy nhiên, vì trọng tâm chính của hướng dẫn này là về chức năng của biểu mẫu đăng nhập, nên chúng tôi tiếp tục với phong cách tiêu chuẩn của các thành phần GUI
Lần trước chúng ta đã tìm hiểu cách thiết lập cấu trúc Flask cơ bản và sau đó phát triển một trang web tĩnh, được tạo kiểu bằng Bootstrap. Trong phần thứ hai của loạt bài này, chúng tôi sẽ thêm một trang đăng nhập cho người dùng cuối, đăng nhập vào
Dựa trên mã từ hướng dẫn trước, chúng ta cần
- Thêm một tuyến để xử lý các yêu cầu tới URL đăng nhập;
- Thêm mẫu cho trang đăng nhập
Tiền thưởng miễn phí. Nhấp vào đây để truy cập vào video hướng dẫn Flask + Python miễn phí chỉ cho bạn cách xây dựng ứng dụng web Flask, từng bước một
Thêm một tuyến để xử lý các yêu cầu tới URL đăng nhập
Đảm bảo rằng virtualenv của bạn đã được kích hoạt. Mở chương trình. py trong trình chỉnh sửa mã của bạn và thêm tuyến đường sau
# Route for handling the login page logic
@app.route['/login', methods=['GET', 'POST']]
def login[]:
error = None
if request.method == 'POST':
if request.form['username'] != 'admin' or request.form['password'] != 'admin':
error = 'Invalid Credentials. Please try again.'
else:
return redirect[url_for['home']]
return render_template['login.html', error=error]
Hãy chắc chắn rằng bạn cũng cập nhật nhập khẩu
from flask import Flask, render_template, redirect, url_for, request
Loại bỏ các quảng cáoVì vậy những gì đang xảy ra?
Trước tiên, lưu ý rằng chúng tôi đã chỉ định các phương thức HTTP áp dụng cho tuyến đường, GET và POST, làm đối số trong trình trang trí tuyến đường
GET là phương thức mặc định. Vì vậy, nếu không có phương thức nào được xác định rõ ràng, Flask giả định rằng phương thức duy nhất khả dụng là GET, giống như trường hợp của hai route trước đó,
/
và/welcome
Đối với tuyến đường
/login
mới, chúng tôi cần chỉ định phương thức POST cũng như GET để người dùng cuối có thể gửi yêu cầu POST cùng với thông tin đăng nhập của họ tới điểm cuối/login
đóLogic trong hàm
login[]
kiểm tra xem thông tin đăng nhập có chính xác không. Nếu chúng đúng, thì người dùng sẽ được chuyển hướng đến tuyến đường chính,/
và nếu thông tin đăng nhập không chính xác, sẽ xuất hiện lỗi. Những thông tin đăng nhập này đến từ đâu?Trong trường hợp yêu cầu GET, trang đăng nhập được hiển thị đơn giản
GHI CHÚ. Hàm tạo điểm cuối cho phương thức được cung cấp
Thêm mẫu cho trang đăng nhập
Tạo một tệp mới có tên đăng nhập. html, thêm nó vào thư mục “mẫu”
Flask Intro - login page
Please login
{% if error %}
Error: {{ error }}
{% endif %}
Đã đến lúc kiểm tra nhanh…
Kích hoạt máy chủ. Điều hướng đến http. //máy chủ cục bộ. 5000/lần đăng nhập
Nhập thông tin đăng nhập không chính xác, sau đó nhấn đăng nhập. Bạn sẽ nhận được phản hồi này. "Lỗi. Thông tin không hợp lệ. Vui lòng thử lại. ”
Bây giờ, hãy sử dụng “admin” cho cả tên người dùng và mật khẩu và bạn sẽ được chuyển hướng đến URL
/
Bạn có thể cho biết những gì đang xảy ra ở đây? . Hãy nhớ xem video đi kèm để tìm hiểu sâu hơn về vấn đề này với Công cụ dành cho nhà phát triển Chrome
Cuối cùng, chúng tôi có một số logic trong các mẫu của mình. Ban đầu, chúng tôi đã thông qua Không có lỗi. Chà, nếu lỗi không phải là Không, thì chúng tôi sẽ hiển thị thông báo lỗi thực tế, thông báo này được chuyển đến mẫu từ chế độ xem.
5. Để biết thông tin về cách thức hoạt động của tính năng này, hãy xem bài đăng trên blog để tìm hiểu thêm về công cụ tạo khuôn mẫu Jinja2from flask import Flask, render_template, redirect, url_for, request
Phần kết luận
Bạn nghĩ sao?
Tiền thưởng miễn phí. Nhấp vào đây để truy cập vào video hướng dẫn Flask + Python miễn phí chỉ cho bạn cách xây dựng ứng dụng web Flask, từng bước một
Bây giờ người dùng có khả năng đăng nhập, chúng tôi cần bảo vệ URL đó ___________ khỏi truy cập trái phép. Nói cách khác, khi người dùng cuối truy cập điểm cuối đó, trừ khi họ đã đăng nhập, thì họ sẽ được chuyển ngay đến trang đăng nhập. Lần tới. Cho đến lúc đó, hãy thực hành một số jQuery
Hãy chắc chắn lấy mã và xem
Băng hình
Đánh dấu là đã hoàn thành
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Về Đội
Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Aldren
Michael
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi