У меня есть простое flask веб-приложение, в котором пользователь может добавлять и удалять задачи из базы данных. Все записи в базе данных отображаются в виде шаблона, отсортированного по назначенному типу. Я не могу отформатировать вывод, чтобы он был хотя бы несколько читабельным. Как я могу это сделать?
Фактическая база данных использует разные значения и еще много чего, поэтому не все из них могут иметь смысл прямо сейчас.
Эта функция получает все записи из моей базы данных sqlite:
def get_tsk_by_type(type):
c.execute("SELECT * FROM tasks WHERE type=:type", {'type': type})
result = c.fetchall()
return result
База данных:
c.execute("""CREATE TABLE IF NOT EXISTS tasks (
type text,
description text,
amount integer,
id integer
)""")
И вот как я возвращаю все записи, которые затем отображаются в шаблоне. Существует также функция удаления задач, если вы вводите их идентификатор.
@app.route('/', methods = ['GET', 'POST'])
def index():
form = DeleteForm()
curr_homework = str(get_tsk_by_type("homework"))
curr_cleaning = str(get_tsk_by_type("cleaning"))
curr_cooking = str(get_tsk_by_type("cooking"))
if form.validate_on_submit():
try:
conn = sqlite3.connect('tasks.db', check_same_thread=False)
c = conn.cursor()
delete = request.form['delete']
if (delete):
remove_tsk(delete)
return redirect('/')
conn.close()
except:
return "Something went wrong while submitting the form"
return render_template('index.html', curr_homework = curr_homwork, curr_cleaning = curr_cleaning, curr_cooking = curr_cooking, form = form)
Соответствующие части моего индекса. html выглядят так:
{% block content %}
<div>
<p>
<span>Currently registered homework: {{ curr_homework }}</span><br />
<span>Currently registered cleaning tasks: {{ curr_cleaning }}</span><br />
<span>Currently registered cooking tasks {{ curr_cooking }}</span>
</p>
</div>
{% endblock content %}
Однако вывод я выгляжу так:
Currently registered homework: [('homework', 'math', 1, 'df19c0b1-a2128-431274-2e32-3a2f901b1b26')]
Currently registered cleaning tasks: [('cleaning', 'kitchen', 1, 'df19c0b1-aa18-4874-9e32-3a2f901b1b26')]
Currently registered cooking tasks: [('cooking', 'lunch', 1, '0697c139-0299-4c93-88ac-c07d77377796')]
Я пробовал циклы for и тому подобное, но он возвращает только первый кортеж в списке, который возвращает get_tsk_by_type (). Я также пробовал панду, но я не мог заставить ее выводить так, как я хочу. Как мне сделать так, чтобы он был легко читаем? Без скобок et c.? Позже я хочу отобразить каждую отдельную задачу отдельно, желательно в div.