J'essaie d'obtenir cela pour courir pendant un moment, mais apparemment en vain. J'ai une webApp qui demande aux données d'entrée utilisateur, qui sont alors engagées dans la DB. Lorsque je frappe Ajouter via le navigateur, les données sont transmises à la DB mais Werkzeug crachent un certain nombre d'erreurs, que j'ai détaillées ci-dessous dans la trace.
My View.py:
Traceback (most recent call last): File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 2000, in __call__ return self.wsgi_app(environ, start_response) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1991, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1567, in handle_exception reraise(exc_type, exc_value, tb) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise raise value File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1988, in wsgi_app response = self.full_dispatch_request() File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1641, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1544, in handle_user_exception reraise(exc_type, exc_value, tb) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise raise value File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1639, in full_dispatch_request rv = self.dispatch_request() File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1625, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/home/scire/programs/python/aalert/aalert/views.py", line 75, in insert db.session.commit() File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/orm/scoping.py", line 157, in do return getattr(self.registry(), name)(*args, **kwargs) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 801, in commit self.transaction.commit() File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 399, in commit self.session.dispatch.after_commit(self.session) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/event/attr.py", line 256, in __call__ fn(*args, **kw) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 231, in after_commit models_committed.send(session.app, changes=list(d.values())) File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/blinker/base.py", line 267, in send for receiver in self.receivers_for(sender)] File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/blinker/base.py", line 267, in <listcomp> for receiver in self.receivers_for(sender)] File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask_whooshalchemy.py", line 239, in _after_flush for model, values in bytype.iteritems(): AttributeError: 'dict' object has no attribute 'iteritems'
3 Réponses :
in python3 dict.items () code> fait la même chose que
dict.iteritems () code> a fait à Python2. Il suffit de remplacer
iteritems () code> avec les éléments
() code>! P>
Op n'a pas écrit ce code. Il vient de profond de la pile de flacon.
J'ai récemment rencontré cette même erreur lors de la tentative d'utilisation de Flack-Sqlalchemy à Python3 et était presque bloquée. Ensuite, je me souviens que https://blog.miguelgrinberg.com/post/about-meleight/a > avait fait quelque chose comme ça avant et décidé de l'essayer p>
$ PIP Désinstallation Flacon-Whooshalchemy
$ pip install git + git: //github.com/miguelgrinberg/flask-whooshalchemy.git p>
Cela a fonctionné pour moi p>
https: // blog .miguelgrinberg.com / Post / The-Flask-Mega-Tutorial-Part-X-Full-Text-Recherche P>
profiter. .. p>
pip install flask-whooshalchemy3
Python 3? Les dicts n'ont pas cette méthode dans Python 3.
Il semble que
flask_whooshalchemy code> n'est pas compatible Python 3.
Yep, on dirait que
flask_whooshalchemy code> n'est actuellement pas compatible Python 3. github.com/gyllstromk/flask-whooshachalchemy/pull/28 pour un python 3 Branche compatible (j'espère). Vous pouvez toujours essayer d'utiliser cette branche à la place?
Demandé auparavant, voyez ceci: Stackoverflow.com/Questtions/30418481/...