Я просто хочу написать имя файла из данных для моей модели.
Как получить имя файла из файлового хранилища?
Я использую Flask для своего веб-приложения. Я создаю форму, которая включает FileField.
Для меня важно получить одно и то же имя файла.
Форма:
class TableForm(FlaskForm):
file = FileField('Add file', validators=[FileAllowed(['xlsx', 'xls', 'csv'])])
submit = SubmitField('Add file')
Модель:
class Table(db.Model):
__table_args__= {'schema': 'app'}
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(240), nullable=False)
table_file = db.Column(db.String(80), nullable=False)
Маршруты:
@app.route("/projects/<int:project_id>", methods=['GET', 'POST'])
@login_required
def project_data_source(project_id):
tables = Table.query.filter_by(project_id=project_id)
if project.author != current_user:
abort(403)
form = TableForm()
if form.validate_on_submit():
table = Table(name=form.file.data, table_file=form.file.data)
db.session.add(table)
db.session.commit()
return redirect(url_for('project_data_source'))