Я пытался загрузить и использовать файл на своей веб-странице, но постоянно сталкивался с ошибками.Я неоднократно искал и пробовал много разных решений, но безуспешно.Любое направление будет оценено.
/ app / forms.py
class UploadForm(FlaskForm):
cadfile = FileField('cadfile', validators=[FileRequired(), FileAllowed(['STEP','STP'], 'Step Files Only')])
upload = SubmitField('Upload')
def __init__(self, *args, **kwargs):
super(UploadForm, self).__init__(*args, **kwargs)
self.user = None
def validate(self):
initial_validation = super(UploadForm, self).validate()
if not initial_validation:
print('Fails')
return False
return True
Эта часть кода каждый раз завершается с ошибкой при "not initial_validation", независимо от того, нет файла, неправильный тип файла или правильныйтип файла.
/ app / rout.py
@app.route('/index', methods=['GET', 'POST'])
def index():
form = UploadForm()
if form.validate_on_submit():
if 'cadfile' in request.files:
cadfile = request.files['cadfile']
cadfile.save('/app/tmp/' + cadfile.filename)
print('Success')
else:
print('No Go')
return redirect(url_for('details'))
return render_template('index.html', title='Home', form=form)
И мой HTML-файл /app/templates/index.html
<html>
<head>
<title>Upload</title>
</head>
<body>
<h1>Let's Do This</h1>
<form method="post" enctype="multipart/form-data">
{{ form.hidden_tag() }}
{{ form.cadfile }}
{{ form.upload() }}
</form>
</body>
</html>
Я хотел бы иметьвыводится «Нет файла», если файл не выбран, «Неверный тип файла», если файл не STP или STEP, и «Успех», когда файл успешно загружен.