Je me suis passé à un dictionnaire Python régulier régulier et j'ai besoin d'entrer dans
Pour convertir cette Dictionnaire Python du dictionnaire JavaScript. J'ai essayé comme P> mais j'ai eu des erreurs ( $ (document) .Ready (fonction (fonction () {..} code> p>
8 Réponses :
Vous pouvez le convertir en JSON et utiliser cela dans ce modèle
dans votre code Python do p>
Python et JavaScript ont des idées différentes sur la manière de représenter un dictionnaire, ce qui signifie que vous avez besoin d'une représentation intermédiaire afin de transmettre des données entre elles. Le moyen le plus courant de faire est JSON , qui est un simple format de données léger-interchange. P>
Utilisez le La bibliothèque Python JSON pour convertir (ou vider) votre dicte Python en une chaîne JSON. Puis, dans le JavaScript, analysez la chaîne JSON dans une dicte JavaScript. (Si vous utilisez jQuery, utilisez jquery.parsejson ) p>
Comme d'autres les ont déjà suggérées, convertissant votre dictionnaire à JSON à votre vue, puis en passant le json au contexte de modèle, c'est vraiment votre meilleure approche, mais si vous voulez le garder comme un dictionnaire Python dans votre modèle, vous pouvez ; Vous avez juste besoin de créer manuellement la version JavaScript (c'est-à-dire que vous ne pouvez pas simplement le jeter avec {{paramètres}} code>)
Un exemple de travail inspiré de la réponse de Chris PatT ci-dessous (notez la différence):
42 var js_dict = [ 43 {% for k, v in parameters.iteritems %} 44 ["{{ k }}","{{ v }}"] {% if not forloop.last %},{% endif %} 45 {% endfor %} 46 ];
Vous pouvez utiliser avec json.dumps (paramètres) code> avec
mark_safe () code>
mark_safe () Code> Je reçois un code non évalué dans le modèle. P> p>
Vous n'avez pas besoin d'envoyer le dictionnaire.
Voici comment j'ai mis en œuvre ceci: p>
mon modèle (pour morris.html): strong> p>
Comment gérer ce cas en passant à l'objet sur la page du modèle au lieu de passer la dicte à partir du fichier PY et j'ai créé la dicte requise sur le modèle lui-même. Comme:
sur ma py: p> sur mon modèle Django:
Dans mon étiquette de script: p>
J'ai trouvé que cela aide pour les chaînes contenant ['] aussi bien
Avez-vous vérifié s'il y a un équivalent JSON.Stringify en Python?