Рубрики
Без рубрики

Вход пользователя с Python и SQLite

Узнайте, как создать базовый сценарий входа в систему Python и Sqlite. SQLite идеально подходит для небольших приложений Python, управляемой данными.

Автор оригинала: Robin Andrews.

В этом уроке вы узнаете, как создать основной сценарий входа с Python и SQLite Отказ SQLite идеально подходит для небольших приложений Python, управляемой данными. Это легкая, автономная, неверная система управления базами базы данных. Вы можете узнать больше о SQLite здесь: Базы данных Python – SQLite Tutorial Part 1 Отказ

Чтобы следить с этим уроком, вам понадобится бесплатная часть программного обеспечения, называемого Браузер БД для SQLite Отказ Вы должны загрузить и установить эту очень полезную программу сейчас, прежде чем продолжить.

Что подходит в этом уроке:

  • Создать Пользователи Таблица
  • Добавить комбинации имени пользователя/пароля
  • Подключитесь к базе данных SQLite из Python
  • Привлечь результаты из базы данных с помощью Python
  • Используйте F-струны для безопасного интерполяции переменных в операторы SQL
  • Проверьте, является ли имена комбинации имени пользователя/пароля.

Давайте погрузиться в.

Создание таблицы пользователей с использованием браузера БД для SQLite

  • Откройте Браузер БД для SQLite
  • Создайте новую базу данных и сохраните его как data.db Отказ
  • Перейти к Выполнить SQL Вкладка и введите (вставить, если вы уже SQL Ninja) следующее SQL код:
CREATE TABLE IF NOT EXISTS "users" (
    "username"  TEXT,
    "password"  TEXT
);
INSERT INTO "users" VALUES ('boss','1234');
INSERT INTO "users" VALUES ('admin','password');

Примечание. В производственном приложении вы никогда не будете хранить незашифрованные пароли в базе данных. Вместо этого вы бы использовали Hashed и соленые версии – не беспокоитесь о том, хотя, если эти концепции не знакомы. Идея проста – незашифрованные пароли, хранящиеся в базе данных, не являются безопасными.

В качестве альтернативы вы можете создать новую базу данных в браузере БД и вручную создать таблицу с помощью GUI.

Убедитесь, что вы пишете изменения в базе данных.

Вы делаете это, выбрав опцию с панели инструментов. Теперь проверьте данные и структуру и получите немного знакомые с интерфейсом, если вы еще не найдены.

Доступ к базе данных SQLite из Python

Далее создайте файл Python в том же каталоге, что и data.db Отказ Добавьте следующий код и запустите его:

import sqlite3 as sql

con = sql.connect("data.db")
cur = con.cursor()
statement = "SELECT username, password FROM users"
cur.execute(statement)
print(cur.fetchall())

Вы должны получить этот вывод:

[('boss', '1234'), ('admin', 'password')]

Примечание: что такое Cur ? Подумайте об этом как об этом, как голова чтения/записи на CD-проигрывателе или подобное. Здесь вы можете увидеть, что все записи в таблице возвращаются CUR.Fetchall () Отказ

Пара других удобных функций, которые похожи:

  • Cur.fetchone () , что вернется только один ряд из запроса SQL
  • Cur.fetchone () [0] , что вернется только первый элемент в первом ряду.

Если бы вы использовали Печать (cur.fetchone () [0]) вместо Печать (CUR.Fetchall ()) в коде выше, вывод просто будет Босс Отказ

Проверка учетных данных входа с Python и SQLite

Теперь у нас есть большинство ингредиентов, чтобы проверить данные для входа в систему, используя Python и Sqlite.

Подходящий запрос SQL будет:

f “Выберите имя пользователя из пользователей, где и;

Теперь у нас есть ингредиенты для простого сценария Python, чтобы проверить, существует ли комбинация имени пользователя/паролей в базе данных и напечатает сообщение пользователя соответственно. Я жестко закодировал значения для Имя пользователя и пароль , но они могут прийти с пользовательского ввода, используя вход () Или из веб-формы, если вы создаете веб-приложение Python.

import sqlite3 as sql


username = "boss"
password = "1234"
con = sql.connect("data.db")
cur = con.cursor()
statement = f"SELECT username from users WHERE username='{username}' AND Password = '{password}';"
cur.execute(statement)
if not cur.fetchone():  # An empty result evaluates to False.
    print("Login failed")
else:
    print("Welcome")

В этом уроке мы узнали, как создать таблицу в базе данных SQLite и использовать Python, чтобы получить доступ к базе данных и проверять действительное имя пользователя/комбинации паролей. Я надеюсь, что вы нашли это полезным.

Счастливые вычисления.