Trong hướng dẫn Python trước đây của chúng tôi, chúng tôi đã giải thích cách phát triển Ứng dụng thời tiết bằng Python bằng Flask. Trong hướng dẫn này, chúng tôi sẽ giải thích cách triển khai Đăng nhập và Đăng ký Người dùng bằng Python, Flask và MySQL Đăng nhập và đăng ký người dùng là một chức năng quan trọng của mô-đun người dùng trong bất kỳ ứng dụng web nào. Người dùng được phép tạo tài khoản và đăng nhập để truy cập phần người dùng Trong hướng dẫn này, chúng tôi sẽ triển khai chức năng đăng nhập, đăng xuất và đăng ký của người dùng. Chúng tôi sẽ sử dụng khung công tác pip install flask-mysqldb1 với pip install flask-mysqldb2 để tạo ứng dụng web với Biểu mẫu đăng nhập và đăng ký và triển khai tính năng sử dụng cơ sở dữ liệu pip install flask-mysqldb3 Vì vậy, hãy tiến hành thực hiện Đăng nhập và Đăng ký với Python, Flask và MySQL Mô-đun bắt buộcChúng tôi sẽ sử dụng các mô-đun sau để triển khai chức năng đăng nhập và đăng ký
pip install Flask pip install flask-mysqldb3, vì vậy chúng tôi cần cài đặt mô-đun này để kết nối với cơ sở dữ liệu. Nó có thể được cài đặt bằng lệnh dưới đây pip install flask-mysqldb Tạo cơ sở dữ liệu MySQLChúng ta cần tạo cơ sở dữ liệu MySQL và sau đó bảng pip install flask-mysqldb5 để lưu trữ thông tin người dùng Chúng tôi sẽ tạo bảng pip install flask-mysqldb5 bằng truy vấn bên dưới________số 8_______ Chúng tôi cũng chèn một số bản ghi người dùng để kiểm tra chức năng đăng nhập INSERT INTO `user` (`userid`, `name`, `email`, `password`) VALUES (1, 'Jhon smith', '[email protected]', '123'), (2, 'Adam William', '[email protected]', '123'); Triển khai đăng nhập và đăng ký người dùngChúng tôi sẽ tạo thư mục dự án pip install flask-mysqldb7 và cài đặt tất cả các mô-đun cần thiết Sau đó, chúng tôi sẽ tạo tệp pip install flask-mysqldb8 Python và nhập các mô-đun cần thiết, chẳng hạn như pip install flask-mysqldb9, CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);0 và các hàm trợ giúp Chúng tôi cũng sẽ tạo thư mục CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);1 trong thư mục dự án để giữ các tệp mẫu. ’ Sau đó, chúng tôi sẽ tạo chức năng CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);2 trong pip install flask-mysqldb8 để triển khai chức năng đăng nhập của người dùng @app.route('/login', methods =['GET', 'POST']) def login(): mesage = '' if request.method == 'POST' and 'email' in request.form and 'password' in request.form: email = request.form['email'] password = request.form['password'] cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor) cursor.execute('SELECT * FROM user WHERE email = % s AND password = % s', (email, password, )) user = cursor.fetchone() if user: session['loggedin'] = True session['userid'] = user['userid'] session['name'] = user['name'] session['email'] = user['email'] mesage = 'Logged in successfully !' return render_template('user.html', mesage = mesage) else: mesage = 'Please enter correct email / password !' return render_template('login.html', mesage = mesage) Chúng tôi sẽ tạo tệp mẫu CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);4 trong thư mục CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);1 và tạo biểu mẫu đăng nhập Đây là tập tin hoàn chỉnh CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);6 <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>User Login Form</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"> </head> <body> <div class="container"> <h2>User Login</h2> <form action="{{ url_for('login') }}" method="post"> {% if mesage is defined and mesage %} <div class="alert alert-warning">{{ mesage }}</div> {% endif %} <div class="form-group"> <label for="email">Email:</label> <input type="email" class="form-control" id="email" name="email" placeholder="Enter email" name="email"> </div> <div class="form-group"> <label for="pwd">Password:</label> <input type="password" class="form-control" id="password" name="password" placeholder="Enter password" name="pswd"> </div> <button type="submit" class="btn btn-primary">Login</button> <p class="bottom">Dont't have an account? <a class="bottom" href="{{url_for('register')}}"> Register here</a></p> </form> </div> </body> </html> Khi người dùng đăng nhập thành công, nó sẽ chuyển hướng đến CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);7 để hiển thị trang đăng nhập. Đây là tập tin hoàn chỉnh của CREATE TABLE `user` ( `userid` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `user` ADD PRIMARY KEY (`userid`);7 |