Форум сайта python.su
Добрый день! Очень прошу помочь с такой проблемой - есть база данных sqlite3 и view.
Во view помещен SelectField со списком выбора. Список выбора определяется тут:
@app.route('/' , methods=['GET','POST']) def show_main(): db = get_db() authors_books = execute_db('''select book_title, author_name FROM authors_books order by book_title''', db) books = execute_db('''select book_title FROM books order by book_title''', db) authors = execute_db('''select author_name FROM authors order by author_name''', db) form = AddInLibForm() choices = [] for author in authors: choices.append(str(author)) form.select_author.choices = choices
<form action="" method=get name="add_in_lib_form"> {{form.hidden_tag()}} <dl> <select title="Select author:"> {% for author in form.select_author.choices %} <option value={{ author }}>{{ author }}</option> {% endfor %} </select> <select title="Select book:"> {% for book in form.select_book.choices %} <option value={{ book }}>{{ book }}</option> {% endfor %} </select> <dd><input type=submit value=Add> </dl> </form>
Офлайн
Скорее всего Вы получаете обджект из БД, а не данные, т.е. Вы не получаете ответ в типах python, а объект ответа, который потом нужно дообрабатывать, чтобы получить приемлемые для обработки данные.
P.S. Используйте сразу ОРМ. Не мучайтесь. Для фласка отлично подходит алхимия - sqlalchemy. Ваш код в этом случае будет универсальным и практически не потребует переделки при изменении БД.
Офлайн
Большое спасибо, буду пробовать алхимию.
Офлайн