Je souhaite créer un formulaire qui permet d'envoyer une image avec une description en utilisant flask forms. J'ai essayé d'utiliser cette vidéo: https://www.youtube.com/watch ? v = Exf8RbgKmhM
mais j'ai eu des problèmes lors du lancement de app.py:
➜ website git:(master) ✗ python3.6 app.py
Traceback (most recent call last):
File "app.py", line 10, in <module>
from flask.ext.uploads import UploadSet, configure_uploads, IMAGES
ModuleNotFoundError: No module named 'flask.ext'
J'ai dû remplacer flask.ext.uploads
par flask_uploads
mais maintenant j'obtiens:
Traceback (most recent call last):
File "app.py", line 10, in <module>
from flask_uploads import UploadSet, configure_uploads, IMAGES
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/flask_uploads.py", line 26, in <module>
from werkzeug import secure_filename, FileStorage
ImportError: cannot import name 'secure_filename'
Mes importations et ma configuration ressemblent à ceci:
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
from flask import Flask, session, render_template, url_for, redirect, flash, request
from wtforms import Form, fields,TextField, StringField, PasswordField, BooleanField,validators
from wtforms.validators import InputRequired, Email, Length, DataRequired
from flask_wtf import FlaskForm
from flask_uploads import UploadSet, configure_uploads, IMAGES
from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user
Je n'ai pas pu résoudre ce problème, avez-vous une idée de ce que je peux faire?
Vous utilisez une version cassée de Flask-Uploads
.
Malheureusement, le responsable du package a décidé de ne pas publier une nouvelle version du package sur PyPi.
Vous pouvez utiliser Flask-Reuploaded
comme remplacement instantané, ce qui résout votre problème.
Je n'ai pas pu résoudre le problème avec flask-upload mais j'ai suivi cette vidéo et cela m'a permis de faire ce que je voulais faire: https://www.youtube.com/watch?v=6WruncSoCdI