[PYTHON] Résoudre les conflits de modèles Angural JS et Django

Lors de la création d'une application Web, si le back-end est Python Django et le front-end est Angular JS, des conflits se produiront. De plus, lors de l'utilisation d'un tableau, la méthode générale ne fonctionnait pas et j'en étais accro, je vais donc l'écrire.

Pourquoi des conflits surviennent-ils?

Les modèles Django utilisent {{ et}} pour insérer des paramètres, mais Angular JS utilise également {{ et }} au début et à la fin du balisage. Par conséquent, il semble qu'un conflit se produira.

Marquer Angular JS avec autre chose

Puisque le même {{}} est utilisé, il y a un conflit et il existe un moyen de changer la balise de balisage du côté Angular JS en une autre.

<script>
var customInterpolationApp = angular.module('myapp', []);
  customInterpolationApp.config(function($interpolateProvider) {
    $interpolateProvider.startSymbol('//');
    $interpolateProvider.endSymbol('//');
  });

</script>

Dans la configuration de l'application

$interpolateProvider.startSymbol('//');

Pour faire de la balise de départ votre favori

$interpolateProvider.endSymbol('//');

Vous pouvez changer la balise de fin en ce que vous voulez.

Remplacez également «{{` et «}}» dans le modèle par la balise spécifiée «//».

Document officiel

Lors de la recherche, de nombreuses personnes semblaient le changer en [[ et ]], mais dans ce cas, l'utilisation du tableau [] dans Angural JS ne semble pas fonctionner. En le définissant sur «//», cela fonctionne.

Il semble y avoir une autre façon de le gérer du côté Python, mais cette méthode était facile pour moi, je vais donc la partager.

Recommended Posts

Résoudre les conflits de modèles Angural JS et Django
Modèle HTML Django partie 2
Modèle HTML Django
Astuces pour les modèles Django
Résoudre les conflits websocket et websocket_client qui empêchent l'importation réussie
Comment résoudre les conflits de portée variable entre Jinja2 et AngularJS