Я ненавижу то, что это не говорит точно, что это за ошибка, но я исследовал, был ли это тип данных, вызвавший эту ошибку.
Это моя функция с ошибкой:
def insert_recipe(recipe_id, recipe_name, img_link, recipe_link):
with sql.connect('app.db') as connection:
cursor = connection.cursor()
cursor.execute("INSERT INTO recipes (recipe_id, recipe_name, img_link, recipe_link) VALUES (?,?,?,?)", (recipe_id, recipe_name, img_link, recipe_link))
connection.commit()
Это страница с ошибкой:
Это моя функция, которая заставляет его отображать ее в моем профиле:
@app.route('/profile', methods=['GET', 'POST'])
@login_required
def display_profile():
id = request.values.get('id')
title = request.values.get('title')
img_link = request.values.get('img_link')
link = request.values.get('link')
print(type(id), type(title), type(img_link), type(link))
insert_recipe(id, title, img_link, link)
insert_savedRecipes(current_user.id, id)
recipes = loadSavedRecipes()
return render_template('profile.html', name=current_user.username, recipes=recipes)
Моя схема SQL:
CREATE TABLE recipes (
r_id integer PRIMARY KEY,
recipe_id text NOT NULL,
recipe_name text NOT NULL,
img_link text NOT NULL,
recipe_link text NOT NULL
);
Я проверил типы данных для всех столбцов, и в соответствии с терминалом все они являются строками. Кроме того, эта функция, похоже, работает, потому что она вставляет рецепт в таблицу рецептов базы данных. Тем не менее, когда я нажимаю на вкладку профиля в панели навигации, вот тогда это все ошибки.
Так что я не уверен, почему я получаю эту ошибку, когда моя таблица, кажется, вставляется правильно, как показано ниже: