web-dev-qa-db-fra.com

Existe-t-il une implémentation HAML à utiliser avec Python et Django

Je suis tombé sur HAML , une manière intéressante et belle de baliser le contenu et d'écrire des modèles pour HTML.

Puisque j'utilise Python et Django pour mon besoin de développement Web, je voudrais voir s'il y a une implémentation Python de HAML (ou certains concepts similaires - n'ont pas besoin d'être exactement identiques) qui peuvent être utilisés pour remplacer le moteur de modèle Django.

70
Ber

Vous pourriez être intéressé par SHPAML:

http://shpaml.com/

Je le maintiens activement. Il s'agit d'un simple préprocesseur, il n'est donc lié à aucun autre outil comme Genshi. Il se trouve que je l'utilise avec Django, donc il y a un peu de support Django, mais cela ne devrait pas interférer avec la plupart des autres cas d'utilisation.

37
Steve Howell

Je vérifierais GHRML , Haml pour Genshi. L'auteur admet que c'est essentiellement Haml pour Python et que la plupart de la syntaxe est la même (et que cela fonctionne dans Django). Voici quelques GHRML juste pour vous montrer à quel point ils sont proches:

%html
  %head
    %title Hello World
    %style{'type': 'text/css'}
      body { font-family: sans-serif; }
    %script{'type': 'text/javascript', 'src': 'foo.js'}

  %body
    #header
      %h1 Hello World
    %ul.navigation
      %li[for item in navigation]
        %a{'href': item.href} $item.caption

    #contents
      Hello World!
21
Chris Bunch

je cherche la même chose. Je ne l'ai pas essayé, mais j'ai trouvé ceci:

http://github.com/jessemiller/HamlPy

18
Roger

Vous pouvez être intéressé par Plim . C'est un port mature python de Slim .

6
Maxim Avanov

Cela ne répond pas réellement à votre question, mais le composant CSS de HAML, SASS , peut être utilisé librement avec n'importe quel framework. Je l'utilise en ce moment avec Django.

4
Sudhir Jonathan

Je ne suis pas sûr de l'état du bit GHRML car je ne l'étais que récemment. Impossible de trouver un référentiel pour celui-ci, le développeur d'origine n'a plus de temps pour cela et la maintenance a été reprise par une autre personne intéressée par le projet. Toute information supplémentaire à ce sujet serait utile.

Malheureusement, au fur et à mesure de ces choses, j'ai commencé à écrire mon propre processeur de style HAML;)

http://dasacc22.wordpress.com/2010/05/03/python-implementation-of-haml/

Il n'est en aucun cas adapté à une utilisation en production pour le moment (c'est littéralement un bébé de 4 jours maintenant, mais comme 60 heures et plus dans ces 4 jours), mais toute personne intéressée peut le vérifier ici. Il a une gamme de fonctionnalités déjà implémentées qui le rendent utile comme jouet, et comme je nettoie la base de code au cours de la semaine prochaine, j'espère le voir remplacer toutes mes extensions et modèles XSLT/xpath personnalisés que j'ai.

3
Daniel Skinner

Mon projet, PyHAML , est un préprocesseur Mako qui vous donne une syntaxe très similaire à HAML. Certains des Ruby ne se traduisent pas très bien en Python, donc il y a quelques différences, mais l'esprit est le même.

3
Mike Boers

J'ai couru sur jade en faisant du travail sur node.js et en revenant à Django cherchait quelque chose de similaire. J'ai trouvé Pyjade et alors que c'est presque exactement ce que je cherche car il gère assez mal les erreurs et le débogage dans Django.

3
Aaron Caito

Je viens de faire ça http://github.com/fitoria/Django-haml c'est encore au tout début mais ça marche.

2
Fitoria

Le projet de Daniel Skinner (mentionné ci-dessus) semble avoir été renommé DMSL. Il semble très puissant, émule HAML mais vous permet d'utiliser python, lambdas, compréhensions etc. dans sa syntaxe: https://github.com/dasacc22/dmsl

2
zeekay

J'utiliserais celui-ci, il semble que ce soit le plus standard: https://pypi.org/project/HamlPy3/0.83.0/

En supposant que vous utilisez Python3, vous ne devriez avoir aucun problème à l'utiliser avec Django, Flask ou même autonome.

1
Ariel Monaco