#python #flask #flask-sqlalchemy
#python #flask #flask-sqlalchemy
Вопрос:
Я пытаюсь составить простой список задач с помощью flask. Когда я запускаю команду from app import db
для создания файла .db для базы данных, я получил сообщение об ошибке, в котором говорится, что модуль flask не установлен. Модуль установлен и работает, когда я пытаюсь запустить код без строк базы данных. Что я делаю не так?
Ответ №1:
Чтобы создать файл базы данных с помощью приведенного выше кода, вы можете импортировать db из app в приглашение python и вызвать db.create_all()
функцию для создания файла базы данных, как показано ниже:
>>> from app import db
>>> db.create_all()
И, пожалуйста, исправьте db.model
db.Model
, иначе вы получите сообщение об ошибке.
Комментарии:
1. Я использовал модель с заглавной буквы. Я пытался
from app import db
в своем приглашении python, которое выдавало мне сообщение об ошибке, в котором говорилось, что flask не установлен.2. Вы пробовали повторно инициализировать свой venv.
3. Если какой-либо из вышеперечисленных шагов не работает, пожалуйста, обратитесь к моему второму ответу, который я опубликовал.
Ответ №2:
Если приведенные выше ответы не работают, вы можете добавить отдельный schema.sql
файл, соответствующий моделям в вашем коде python, и попробовать создать файл базы данных, как показано ниже:
schema.sql:
DROP TABLE IF EXISTS Todo;
CREATE TABLE Todo(
id INTEGER PRIMARY KEY AUTOINCREMENT,
content TEXT NOT NULL,
date_created DATE NOT NULL
);
А затем перейдите к своему терминалу в каталоге вашего проекта, активируйте свой venv и введите следующие команды:
sqlite3 database.db < schema.sql
И ваш файл базы данных будет создан. Теперь вы можете подключить и использовать его как обычную базу данных из своего кода.И вам не нужно будет ничего устанавливать, поскольку sqlite3 уже поставляется с python.
Если по какой-либо причине sqlite3 не установлен, просто запустите любую из следующих команд:
sudo apt-get install sqlite3 libsqlite3-dev