Utiliser AngularJs avec le langage de template de Django


AngularJS est vraiment une bibliothèque javascript prometteuse. Je suis en train de jouer avec, avec l’espoir qu’un jour elle remplace complètement jQuery + Backbone.js dans tous mes projets.

Une chose qui peut être ennuyeuse cependant, c’est que par défaut Angular évalue les expressions qui sont marquées par {{}}, exactement comme le langage de template Django. Cela amène à un conflit.

Heureusement on peut changer ces marqueurs à l’initialisation:

var m = angular.module('monApp', []); 
m.config(function($interpolateProvider) { 
    $interpolateProvider.startSymbol('[['); 
    $interpolateProvider.endSymbol(']]'); 
});

Ici je choisis [[]].

9 thoughts on “Utiliser AngularJs avec le langage de template de Django

  • Sam Post author

    Ouai mais ça veut dire mettre du vertabtim dans tout le code du template. C’est relou. Autant setuper une fois angular, et c’est réglé, on a plus a y penser.

  • Yohann

    Dommage que AngularJS ne soit pas top coté SEO. Quand je vois des choses comme ça… Ça pique les yeux !

    En même temps, c’est plus une lib réservée à des “applications”.

  • Sam Post author

    C’est aussi une de mes réserves.

    Le problème est maintenant plus pour l’accessibilité que pour le SEO, puisque Google bot interprette maintenant le javascript.

    Mais je pense qu’il est possible de faire (je ne sais pas encore comment) du progressive enhancement avec Angular comme avec jquery, de telle sorte que le site garde toute sa sémantique une fois js désactivé.

  • Sam Post author

    Google bot interprète définitivement ls JS. C’est un énorme débat SEO depuis le début du mois dernier, et on a tous fais nos tests de nos côtés.

    http://sebsauvage.net/links/?mzLO-w

    Ce qu’on ne sait pas encore, c’est ce qu’il fait du résultat. Car comme tu le dis, on ne trouve pas encore les parties pure JS dans les résultats. Mais on ne sait pas si ça compte quand même pour le ref.

  • foxmask

    Dans ma quête “trouvons une truc à faire pour ne pas m’emmerder dans mes journées creuses”, me demandais que faire puis “tiens regardons angular” et à la fin du tuto proposé sur le site officiel, tombe un tweet reliant un billet parlant de angular et SEO.
    voilou

  • Sam Post author

    J’étais plein d’expoir en cliquant sur le lien, mais le gars ne s’occupe que du problème d’indexation des pages, hors il y a bien pire comme problème: le contenu.

    Google est beaucoup plus intéressé par le contenu que par les URLS, et il ne propose pas de solution réelle pour ça.

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.