Actualiser <div> élément généré par un modèle django

Comment rafraîchir un certain élément dans un modèle django?
Exemple:

{% if object.some_m2m_field.all %} <h3>The stuff I want to refresh is below</h3> <div id="the-div-that-should-be-refreshed"> {% for other_object in object.some_m2m_field.all %} <a href="www.example.com">{{ other_object.title }}</a> &nbsp; {% endfor %} </div> {% endif %} 

Disons qu'un autre élément de la page déclenche un javascript qui devrait actualiser le div ci-dessus. Existe-t-il un moyen de faire en sorte que django actualise cet élément spécifique dans le modèle?

Si ce n'est pas le cas, je devrai changer monkey le div en utilisant des méthodes JS ou jQuery régulières et ne pas utiliser la grande puissance de la couche de modèle de django. En outre, le code ci-dessus est une simplification du modèle réel, j'utilise une grande partie de la puissance du modèle, de sorte que le patch de monkey html sera un cauchemar …

Vous pouvez utiliser une demande asynchrone pour remplir l'élément div. La demande asynchrone est répondu par django en utilisant le moteur de modèle.

Dans ce cas, vous devriez externaliser le code de modèle de l'élément div dans un fichier de modèle séparé.

MISE À JOUR AVEC L'EXEMPLE:

Javascript:
Pour actualiser la vue de manière asynchrone, utilisez JQuery par exemple:

 $.ajax({ url: '{% url myview %}', success: function(data) { $('#the-div-that-should-be-refreshed').html(data); } }); 

Async View:

 def myview(request): object = ... return render_to_response('my_template.html', { 'object': object }) 

Modèle:

 {% for other_object in object.some_m2m_field.all %} <a href="www.example.com">{{ other_object.title }}</a> &nbsp; {% endfor %} 

Meilleures salutations!

Vous pouvez regarder par exemple. Ce didacticiel Ajax avec Django . Quoi qu'il en soit, comme mentionné ci-dessus, vous pouvez toujours utiliser le moteur de modèle de Django, peu importe si la vue est appelée dans une requête normale ou ajax! Si vous devez utiliser ajax avec django plus souvent, il est logique d'avoir un regard sur quelque chose comme dajax , qui est une bibliothèque ajax pour django (consultez les didacticiels là-bas).