В этой статье мы обсудим, как сохранить имя пользователя и пароль на веб-сайте Flask. Мы можем просмотреть приветственное сообщение и имя пользователя, которое мы выбрали при регистрации, на странице профиля после входа в систему с нашим именем пользователя и паролем. Имена последующих пользователей, которые регистрируются с использованием данных для входа, которые мы будем использовать здесь, также будут отображаться на экране страницы профиля. Чтобы сохранить учетные данные для входа и регистрации пользователя, код Python будет связан с базой данных Flask MySQL. Оттуда мы можем использовать phpmyadmin, чтобы увидеть, сколько пользователей зарегистрировалось и изменило свою информацию.
Требуемый модуль
Для создания нашего проекта мы устанавливаем Flask и Flask-MySQLdb и создаем виртуальную среду.
Создайте папку шаблонов, и в папке шаблонов мы создали три файла: один для register.html, другой для login.html и, наконец, один для user.html.
register.html
Этот файл HTML содержит простую регистрационную форму, которая запрашивает три входа: имя пользователя, адрес электронной почты и пароль. После заполнения этих полей нажмите кнопку регистрации, чтобы увидеть мигающее сообщение о том, что форма была успешно отправлена и что регистрационная информация была безопасно сохранена в базе данных MySQL. Для мигающего массажа мы используем Jinja2 в файле HTML, поэтому теперь мы можем войти в систему, используя наши учетные данные. Если мы зарегистрировались с использованием одного и того же адреса электронной почты, идентификатор флэш-почты также будет существовать.
<pclass="bottom">Already have an account? <aclass="bottom"href="{{url_for('login')}}"> Login here</a></p>
</form>
</div>
</body>
</html>
Выход:
register.html
login.html
В файле login.html мы создали два простых входа: имя пользователя и пароль, которые мы успешно зарегистрировали. Если мы введем правильный адрес электронной почты и пароль, он направит нас на страницу профиля пользователя / входа, где мы использовали URL-адрес функции для записи файловой функции, которую мы хотим отобразить после успешной регистрации.
После успешного входа в систему мы помещаем в эти файлы несколько строк кода для приветствия пользователя. Мы также добавляем вторую сессию. Код имени, который мы используем при регистрации, означает, что при входе в систему наше имя также будет отображаться на экране. Дополнительно на экране появится кнопка для выхода; нажав эту кнопку, мы можем выйти из системы и должны снова войти в систему.
Logged in : <strongclass="gfg"> {{session.name}} </strong>| <ahref="{{ url_for('logout') }}"> Logout</a>
</div>
<br><br>
<divclass="row">
<h2>Welcome to the User profile page... </h2>
</div>
</div>
</body>
</html>
Выход:
user.html
Настройка файла app.py
Шаг 1: Импортируйте всю библиотеку
Во-первых, код Python записывается в файл с именем app.py. Мы импортируем в этот файл все библиотеки, необходимые для запуска нашего приложения, подключения к MySQL и входа администратора из базы данных. После импорта повторного (регулярного выражения), которое будет считывать данные из нашей базы данных MySQL, база данных кода Python, MySQL DB, используется для создания данных для нашей базы данных. Мы инициализируем функцию фляги и генерируем секретный ключ для нашей фляги после импорта всех модулей. Затем в базу данных добавляются имя базы данных, адрес электронной почты и пароль.
Python3
# Import all important libraries
fromflask import*
fromflask_mysqldb importMySQL
importMySQLdb.cursors
importre
# intiallize first flask
app =Flask(__name__)
app.secret_key ='GeeksForGeeks'
# Set MySQL data
app.config['MYSQL_HOST'] ='localhost'
app.config['MYSQL_USER'] ='root'
app.config['MYSQL_PASSWORD'] =''
app.config['MYSQL_DB'] ='user-table'
mysql =MySQL(app)
Шаг 2: Добавление функции входа и выхода
Затем мы разрабатываем функциональный login() и разрабатываем сеанс для входа и регистрации в системе, которая также получает наши данные из MySQL. Сообщение об успешной регистрации также появится на странице входа, когда мы успешно зарегистрируемся на странице регистрации. В этой функции мы передаем запрос в форму входа, вводя наше имя, пароль и адрес электронной почты, когда мы нажимаем «Ввод». Он автоматически сохранит в нашем PHPMyAdmin данные MySQL.
Python3
# Make login funtion for login and also make
# session for login and registration system
# and also fetch the data from MySQL
@app.route('/')
@app.route('/login', methods=['GET', 'POST'])
deflogin():
mesage =''
ifrequest.method =='POST'and'email'in
request.form and'password'inrequest.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',
На экране входа в систему мы можем войти, указав наш адрес электронной почты и пароль. Есть также больше мигающих уведомлений, таких как «Пользователь уже существует», если мы попытаемся зарегистрироваться снова, используя тот же адрес электронной почты. С одним и тем же адресом электронной почты мы можем создать две зарегистрированные учетные записи. Имя пользователя, которое мы указали на странице регистрации, также будет отображаться в профиле после успешного входа в систему. В этом случае мы набрали «GFG». «Добро пожаловать, GFG» появится после успешного входа в систему. Это проясняет весь код, а также его предполагаемое использование.
Python3
# Make a register session for registartion
# session ans also connect to Mysql to code for access
# login and for completing our login
# session and making some flahing massage for error
После написания всего откройте терминал и выполните следующую команду
python app.py
Выход:
Завершите вывод и покажите, где мы сохраняем наш пароль и имя пользователя и как.
Вывод базы данных:
Таблица базы данных
После регистрации нескольких пользователей эти результаты будут отображаться в вашей базе данных. Посмотрев видео, вы сможете понять, как имя пользователя будет отображаться на экране и как несколько пользователей могут зарегистрироваться и войти в систему.