Hướng dẫn how do you create a login system in python with a database? - làm thế nào để bạn tạo một hệ thống đăng nhập trong python với cơ sở dữ liệu?
Trong hướng dẫn này, chúng tôi sẽ tạo ra một hệ thống đăng nhập và đăng ký hoàn chỉnh với Python Bình và MySQL. Show
Python hiện đang tham gia vào cảnh phát triển web bằng bão, phát triển liên tục mỗi năm. Nó có một đường cong học tập thấp và do đó dễ dàng hơn nhiều để thích nghi với các ngôn ngữ đã biết khác (Node.js, PHP, v.v.). Ngoài ra, Python là tương đối mới, vì vậy sẽ thuận lợi khi bắt đầu học ngay lập tức. Gói nâng cao bao gồm các tính năng bổ sung và liên kết tải xuống đến mã nguồn. 1. Bắt đầuCó một vài bước chúng ta cần thực hiện trước khi tạo hệ thống đăng ký và đăng nhập Python. Chúng tôi cần tải xuống và thiết lập Python và cài đặt các gói mà ứng dụng của chúng tôi sẽ phụ thuộc vào. 1.1. Những gì bạn sẽ học trong hướng dẫn này
1.2. Yêu cầu
1.3. Cấu trúc và thiết lập tệpChúng tôi cần tạo thư mục dự án và tập tin của chúng tôi. Bạn có thể tạo thư mục ở bất cứ đâu trên máy tính của bạn, miễn là Python có thể truy cập nó. Tạo các thư mục và tập tin dưới đây. Cấu trúc tập tin \- pythonlogin & nbsp; & nbsp; & nbsp; & nbsp; |- main.py & nbsp; & nbsp; & nbsp; .css & nbsp; & nbsp; & nbsp; & nbsp; \- mẫu & nbsp; & nbsp; & nbsp; |- Đăng ký.html & nbsp; & nbsp; & nbsp; & nbsp; .html & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Mỗi tệp sẽ chứa những điều sau:
Lệnh dưới đây sẽ khởi động máy chủ web của bạn (Windows):
Chế độ gỡ lỗi sẽ cho phép chúng tôi chỉnh sửa các tệp của mình mà không liên tục khởi động lại máy chủ web. 2. Tạo cơ sở dữ liệu và bảng thiết lậpMySQL Workbench là GUI để quản lý cơ sở dữ liệu của chúng tôi. Thực hiện theo các hướng dẫn dưới đây về cách bắt đầu.
Câu lệnh SQL ở trên sẽ tạo cơ sở dữ liệu pythonlogin của chúng tôi với các tài khoản bảng, cùng với một tài khoản thử nghiệm mà chúng tôi có thể sử dụng cho mục đích thử nghiệm. 3. Tạo biểu định kiểu (CSS3)Chỉnh sửa tệp style.css và thêm thông tin sau:
Các kiểu dáng trên sẽ cấu trúc các trang của chúng tôi và cung cấp trải nghiệm sáng tạo cho người dùng của chúng tôi. Vui lòng tùy chỉnh bảng kiểu (thay đổi màu văn bản, kích thước phông chữ, chiều rộng nội dung, v.v.). 4. Tạo hệ thống đăng nhậpCuối cùng chúng ta có thể bắt đầu mã hóa với Python! Những gì chúng tôi sẽ làm trong phần này là tạo mẫu đăng nhập, kết nối với cơ sở dữ liệu MySQL của chúng tôi, thực hiện xác thực đăng nhập và xác định các biến phiên. Điều đầu tiên chúng tôi cần làm là nhập các gói chúng tôi sẽ sử dụng, chỉnh sửa tệp Main.py và thêm những thứ sau:
Bây giờ chúng tôi đã nhập tất cả các gói chúng tôi sẽ sử dụng, chúng tôi cần tạo các biến liên quan đến MYSQL và ứng dụng và định cấu hình chi tiết kết nối MySQL. Thêm vào sau:
Đảm bảo cấu hình các biến MySQL để phản ánh chi tiết MySQL của bạn. Bây giờ chúng ta có thể tiến hành tạo trang đăng nhập. Để làm điều đó, chúng ta cần tạo ra một tuyến đường mới. Các tuyến đường sẽ cho phép chúng tôi liên kết các chức năng của chúng tôi với một URL cụ thể. Thêm vào sau: Đảm bảo cấu hình các biến MySQL để phản ánh chi tiết MySQL của bạn.4.1 Creating the Login TemplateBây giờ chúng ta có thể tiến hành tạo trang đăng nhập. Để làm điều đó, chúng ta cần tạo ra một tuyến đường mới. Các tuyến đường sẽ cho phép chúng tôi liên kết các chức năng của chúng tôi với một URL cụ thể.
4.1 Tạo mẫu đăng nhậpChỉnh sửa tệp index.html và thêm: http://localhost:5000/pythonlogin/ Như bạn có thể thấy với mẫu đăng nhập, chúng tôi tạo biểu mẫu cùng với các trường đầu vào: tên người dùng và mật khẩu. Phương thức của biểu mẫu được đặt để đăng quyết định loại yêu cầu chúng tôi muốn gửi đến máy chủ của chúng tôi. Chúng tôi sẽ sử dụng một yêu cầu POST để gửi dữ liệu biểu mẫu. Nếu chúng tôi điều hướng đến http: // localhost: 5000/pythonlogin/trong trình duyệt web của chúng tôi, nó sẽ trông giống như sau:Nếu bạn nhấp vào nút Đăng nhập, sẽ không có gì xảy ra hoặc sẽ trả lại lỗi, đó là vì chúng tôi chưa thực hiện mã xử lý yêu cầu POST. After:
Add:
4.2 Người dùng xác thực với Python Thêm vào sau:
Đảm bảo cấu hình các biến MySQL để phản ánh chi tiết MySQL của bạn. Thêm vào sau:
Đảm bảo cấu hình các biến MySQL để phản ánh chi tiết MySQL của bạn. Bây giờ chúng ta có thể tiến hành tạo trang đăng nhập. Để làm điều đó, chúng ta cần tạo ra một tuyến đường mới. Các tuyến đường sẽ cho phép chúng tôi liên kết các chức năng của chúng tôi với một URL cụ thể. 4.1 Tạo mẫu đăng nhậpChỉnh sửa tệp index.html và thêm: 0Như bạn có thể thấy với mẫu đăng nhập, chúng tôi tạo biểu mẫu cùng với các trường đầu vào: tên người dùng và mật khẩu. Phương thức của biểu mẫu được đặt để đăng quyết định loại yêu cầu chúng tôi muốn gửi đến máy chủ của chúng tôi. Chúng tôi sẽ sử dụng một yêu cầu POST để gửi dữ liệu biểu mẫu. Nếu chúng tôi điều hướng đến http: // localhost: 5000/pythonlogin/trong trình duyệt web của chúng tôi, nó sẽ trông giống như sau:Nếu bạn nhấp vào nút Đăng nhập, sẽ không có gì xảy ra hoặc sẽ trả lại lỗi, đó là vì chúng tôi chưa thực hiện mã xử lý yêu cầu POST. 4.2 Người dùng xác thực với Python Bây giờ chúng ta cần quay lại tệp chính của mình và thêm mã xác thực vào chức năng tuyến đường mà chúng ta đã tạo.Với mã ở trên, chúng tôi sử dụng câu lệnh IF để kiểm tra xem phương thức được yêu cầu có đăng và kiểm tra xem tên người dùng và biến mật khẩu có tồn tại trong yêu cầu biểu mẫu không. Nếu cả hai đều tồn tại, các biến người dùng và mật khẩu sẽ được tạo, sẽ được liên kết với các biến biểu mẫu. Mã trên sẽ thực thi truy vấn SQL sẽ truy xuất chi tiết tài khoản từ bảng tài khoản của chúng tôi trong cơ sở dữ liệu MySQL của chúng tôi. Các biến tên người dùng và mật khẩu được liên kết với truy vấn này vì đó là những gì chúng tôi sẽ sử dụng để tìm tài khoản. Mã trên sẽ xác định xem tài khoản có tồn tại không. Nếu có, các biến phiên được khai báo. Các biến phiên này sẽ được ghi nhớ cho người dùng vì chúng sẽ được sử dụng để xác định xem người dùng có được đăng nhập hay không.Các biến phiên về cơ bản hoạt động như cookie trình duyệt. Chúng được lưu trữ trên máy chủ trái ngược với trình duyệt của người dùng. Nếu tài khoản không tồn tại, chúng ta chỉ có thể xuất lỗi trên biểu mẫu đăng nhập.Tuyến đường đăng nhập của bạn sẽ trông giống như sau: 2Để đảm bảo mọi thứ đang hoạt động chính xác, điều hướng đến http: // localhost: 5000/pythonlogin/và nhập "kiểm tra" trong cả hai trường người dùng và mật khẩu, sau đó nhấp vào nút đăng nhập. Bạn sẽ nhận được một thông báo xuất bản "đã đăng nhập thành công!". 4.3 Tạo tập lệnh đăng xuất Đối với người dùng để đăng xuất, tất cả những gì chúng tôi phải làm là xóa các biến phiên được tạo khi người dùng đăng nhập.Thêm mã sau vào tệp chính.py: 1 3Mã trên sẽ xóa từng biến phiên được liên kết với người dùng. Nếu không có các biến phiên này, người dùng không thể đăng nhập vào. Sau đó, người dùng được chuyển hướng đến trang đăng nhập. After: 4Add: 5Chúng ta có thể đăng xuất bằng cách điều hướng đến URL sau: http: // localhost: 5000/pythonlogin/đăng xuất Sau đó, mã sẽ chèn một tài khoản mới vào bảng tài khoản của chúng tôi. Để kiểm tra rằng nó đang hoạt động chính xác, điều hướng đến http: // localhost: 5000/pythonlogin/đăng ký và điền vào biểu mẫu và nhấp vào nút Đăng ký. Bạn sẽ nhận được phản hồi sau: http://localhost:5000/pythonlogin/register Bây giờ chúng tôi có thể quay lại tệp index.html của mình và thay đổi dòng này: 6To: 7Bây giờ người dùng có thể đăng ký và đăng nhập vào ứng dụng của chúng tôi. Tiếp theo, chúng tôi sẽ tạo một trang chủ cơ bản cho người dùng đăng nhập. 6. Tạo trang chủTrang chủ sẽ chỉ giới hạn ở người dùng đăng nhập. Người dùng không đăng ký không thể truy cập trang này. Bạn có thể điều chỉnh trang này và tạo thêm các trang. Chỉnh sửa tệp Main.py và thêm thông tin sau: 8Mã trên sẽ tạo chức năng tuyến đường gia đình. Nếu người dùng được đăng nhập, họ sẽ có quyền truy cập vào trang chủ. Nếu không, chúng sẽ được chuyển hướng đến trang đăng nhập. Chỉnh sửa tệp home.html và thêm thông tin sau: 9Chúng tôi cũng cần tạo bố cục cho các trang đăng nhập của chúng tôi. Chỉnh sửa tệp Layout.html và thêm: 0Bây giờ chúng ta có thể dễ dàng mở rộng bố cục tương tự cho cả trang nhà và hồ sơ. Hiện tại, khi người dùng đăng nhập, sẽ có một thông báo đầu ra cơ bản, giờ đây chúng tôi có thể thay đổi điều đó để chuyển hướng người dùng đến trang chủ mới của chúng tôi. Tìm mã sau trong chức năng tuyến đăng nhập: 1Thay thế bằng: 2Bây giờ người dùng sẽ được chuyển hướng đến trang chủ khi họ đăng nhập. Nếu chúng tôi nhập chi tiết kiểm tra vào biểu mẫu đăng nhập và nhấp vào nút Đăng nhập, chúng tôi sẽ thấy như sau: http://localhost:5000/pythonlogin/home Nó chỉ là một trang chủ đơn giản sẽ xuất tên người dùng. Bạn có thể thực hiện mã của riêng bạn sau. Tiếp theo, chúng tôi sẽ tạo trang hồ sơ và điền thông tin chi tiết của người dùng. 7. Tạo trang hồ sơTrang hồ sơ sẽ điền tất cả các chi tiết liên quan đến tài khoản (tên người dùng, mật khẩu và email). Thêm tuyến sau vào tệp chính.py: 3Mã trên sẽ tạo lộ trình hồ sơ và truy xuất tất cả các chi tiết tài khoản từ cơ sở dữ liệu, nhưng chỉ khi người dùng được đăng nhập. Chỉnh sửa tệp hồ sơ.html và thêm: 4Mã trên sẽ mở rộng tệp bố cục (bố cục.html) mà chúng tôi đã tạo trước đó. Nếu bạn điều hướng đến trang hồ sơ, nó sẽ trông giống như sau: http://localhost:5000/pythonlogin/profile Về cơ bản, nó cho các trang nhà và hồ sơ. Gói nâng cao bao gồm tính năng Chỉnh sửa hồ sơ sẽ cho phép người dùng thay đổi tên người dùng, mật khẩu và email của họ. Sự kết luậnXin chúc mừng! Bạn đã tạo thành công hệ thống đăng ký và đăng ký của riêng mình với Python Bình và MySQL. Bạn tự do sử dụng mã nguồn từ hướng dẫn này trong (các) ứng dụng của bạn. Nếu bạn thích hướng dẫn này, đừng quên nhấn nút chia sẻ và bỏ bình luận vì nó sẽ giúp chúng tôi tạo ra nhiều nội dung trong tương lai. Nếu bạn muốn hỗ trợ chúng tôi, hãy xem xét việc mua một gói bên dưới vì nó sẽ giúp chúng tôi tạo ra các hướng dẫn chất lượng hơn và giữ cho máy chủ của chúng tôi hoạt động. Nền tảngNâng caoMã nguồn Cơ sở dữ liệu Tệp SQL Hệ thống đăng nhập & đăng ký Trang chủ Trang hồ sơ Kích hoạt tính năng tài khoản Chỉnh sửa trang hồ sơ Nhớ tôi tính năng Tích hợp Ajax Mã hóa mật khẩu Quên và đặt lại mật khẩu Bảo vệ CSRF Bảo vệ vũ phu Bảo vệ Recaptcha Xác thực hai yếu tố Kích hoạt mẫu email Bảng quản trị - Xem bảng điều khiển - Tạo, chỉnh sửa và xóa tài khoản - Tài khoản tìm kiếm, sắp xếp và lọc - Quản lý mẫu email - Cài đặt chỉnh sửa Thiết kế đáp ứng (thân thiện với thiết bị di động) Tệp SCSS Mã nhận xét Cập nhật và hỗ trợ miễn phí (lỗi và các vấn đề nhỏ) Hướng dẫn sử dụng * Thanh toán được xử lý với PayPal/Stripe. * Gói nâng cao cũng bao gồm nguồn hướng dẫn và gói cơ bản. Để biết thêm thông tin chi tiết về gói nâng cao, bấm vào đây. Hãy thử kết nối với cơ sở dữ liệu "MyDatabase": Nhập MySQL.Connector. ....Làm thế nào để Python tích hợp với cơ sở dữ liệu?. Để tạo kết nối giữa cơ sở dữ liệu MySQL và Python, phương thức Connect () của mô -đun mysql.connector được sử dụng. Chúng tôi vượt qua các chi tiết cơ sở dữ liệu như tên máy chủ, tên người dùng và mật khẩu trong lệnh gọi phương thức và sau đó phương thức trả về đối tượng kết nối. Làm thế nào để bạn tạo một hệ thống đăng nhập trong Python? Tìm hiểu từng bước. Tạo cửa sổ Menu chính .. Tạo cửa sổ đăng ký .. Làm thế nào để bạn tạo một hệ thống đăng nhập bằng SQL trong Python?Tải xuống và cài đặt Python, cho hướng dẫn này, tôi sẽ sử dụng Python 3.7..... Tải xuống và cài đặt MySQL Community Server và MySQL Workbench..... Mở dòng lệnh và cài đặt bình Python với lệnh: PIP Cài đặt bình .. Cài đặt Flask-mysqldb với lệnh: PIP Cài đặt Flask-Mysqldb .. Làm thế nào để bạn tạo cơ sở dữ liệu người dùng trong Python?Python MySQL Tạo cơ sở dữ liệu.. ❮ Trước Sau ❯. Tạo cơ sở dữ liệu có tên "MyDatabase": Nhập MySQL.kết nối..... Trả về danh sách cơ sở dữ liệu của hệ thống của bạn: Nhập MySQL.Connector.myDB = mysql.connector.connect (.... Hãy thử kết nối với cơ sở dữ liệu "MyDatabase": Nhập MySQL.Connector..... ❮ Trước Sau ❯. Tạo cơ sở dữ liệu có tên "MyDatabase": Nhập MySQL.kết nối.....Trả về danh sách cơ sở dữ liệu của hệ thống của bạn: Nhập MySQL.Connector.myDB = mysql.connector.connect (....the connect() method of mysql. connector module is used. We pass the database details like HostName, username, and the password in the method call, and then the method returns the connection object. |