Impossible de trouver une question liée à ce problème. Je le fais probablement de la mauvaise manière parce que je suis sûr qu'il doit y avoir un moyen plus facile d'y parvenir, mais je ne pouvais pas encore le comprendre.Comment retourner un objet Python via Jinja2 à Python?
-> J'essaye de ramener un objet Python de Jinja2 à Python, donc je peux revenir en arrière sur ses valeurs en Python.
Je suis le passage d'un éventail d'utilisateurs de Python (Flask) à un menu déroulant en HTML qui ressemble à ceci:
Cela fonctionne parfaitement et je peux sélectionner un utilisateur dans le menu déroulant. Maintenant, je veux accéder aux attributs user.address des utilisateurs en Python. (bien sûr, ces attributs sont déjà définis dans la classe d'utilisateurs).
J'ai donc une fonction comme celui-ci en Python (Flask) qui se déclenche lorsque vous appuyez sur un bouton:
@app.route("/display_user", methods=["POST"])
def display_user():
user = request.form["user"]
address = user.address
return render_template("show.html", address=address)
Maintenant que je reçois l'erreur suivante:
"AttributeError: 'str' object has no attribute 'address'".
Je suis récupérer le json comme une chaîne qui ressemble à ceci:
{'firstname': 'test','lastname': 'test','birthday': 'test','address': 'test'}
Je devrais maintenant probablement créer un dict de t son string/json et ensuite accéder à ces valeurs avec ['adresse'], mais de toute façon je ne pouvais pas comprendre comment. Je l'ai essayé avec json.dumps() qui n'a pas fonctionné, toujours le même message d'erreur. J'ai aussi pensé qu'il devait y avoir un moyen plus facile/meilleur d'y parvenir.
Des suggestions? (en utilisant Python 3.6.2)
ce n'est pas JSON en passant, c'est un python [ 'repr'] (https://docs.python.org /3/library/functions.html#repr) –
okay, je vois maintenant. Merci!y a-t-il un moyen de passer d'une réprimande à une instance de cette classe? ou faire revenir Jinja2 l'instace/json de l'utilisateur? – Pascal