Не могу охранить данные в базу данных flask

Вот код:

from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///task.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class Task(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String, nullable=False)
    text = db.Column(db.String, nullable=False)
    image = db.Column(db.Text, nullable=True)
    answer = db.Column(db.String, nullable=True)
    answerimage = db.Column(db.Text, nullable=True)

@app.route('/', methods=['POST', 'GET'])
def index():
    return render_template('Главная.html')


@app.route('/create-task')
def createtask():
    return render_template('taskform.html')
    title = request.form['title']
    text = request.form['text']
    image = request.files['image']
    tasks = task(title=title, text=text, image=image)
    db.session.add(tasks)
    db.session.commit()
    return redirect('/')
@app.route('/tasks/<int:id>')
def task(id):
    return render_template('Task.html')



if __name__ == '__main__':
    app.run(debug=True)

Еще мне нужна помощь с тем как сохранить в базу данных картинку. Пожалуйста помогите


Ответы (1 шт):

Автор решения: Akesson

Вам стоит изучить принцип работы ключевого слова return В данном коде:

@app.route('/create-task')
def createtask():
    return render_template('taskform.html')
    title = request.form['title']
    text = request.form['text']
    image = request.files['image']
    tasks = task(title=title, text=text, image=image)
    db.session.add(tasks)
    db.session.commit()
    return redirect('/')

return render_template('taskform.html') - вернет страницу, но последующий код не выполнится. Просто закомментируйте и проверьте процесс сохранения в бд.

→ Ссылка