2010-09-07 9 views
11

Dans le framework Django, les modèles de page Web peuvent hériter d'autres modèles. Dans votre modèle enfant, vous définissez des blocs de code qui remplacent les blocs de même nom dans les modèles parents. Je suppose qu'il existe d'autres systèmes de templates back-end qui fonctionnent également de cette façon, mais Django est celui que je connais. L'un des systèmes de modèles javascript existants prend-il en charge l'héritage de style django?javascript template inheritance

+2

Vous devriez expliquer ce qu'est "l'héritage de style django" et peut-être que quelqu'un postera une réponse. –

+0

@Daniel, bonne suggestion. – morgancodes

+0

Juste [a créé ma propre question] (http://stackoverflow.com/q/7014944/207894) concernant ce problème, avec plus de détails. J'espère que ça va aider. –

Répondre

0

Moustache.js prend en charge partials, qui fonctionnent de manière similaire. A part cela, je ne l'ai pas pu trouver quoi que ce soit - peut-être que je vais le faire ...

* D'accord, ils ne sont pas vraiment comme les modèles de Django à tous, mais ils sont les plus proches simulacrum Je pourrais trouver.

0

Check out Handlebars.js. Il vous permet de définir des méthodes auxiliaires que vous pourriez utiliser pour compartimenter différents blocs, et les faire écho, d'une manière similaire aux content_for :my_area et yield :my_area de Rails.

0

Oui, avec Dustjs, vous pouvez faire en sorte qu'un modèle hérite de la majeure partie de son contenu à partir d'un modèle de base commun. Voilà comment cela fonctionne, avec Dustjs: (voir les "blocs et Inline Partials" section)

Dans un fichier "base_template":

Start 
{+title/} 
Middle 
{+main/} 
End 

Un modèle qui "hérite" du base_template:

{>base_template/} 
{<title} 
    Child Title 
{/title} 
{<main} 
    Child Content 
{/main} 

Résultats quelque chose comme:

Start 
Child Title 
Middle 
Child Content 
End 

question connexe: O niveau de l'héritage eul 1 semble être pris en charge: Is there a way to do more than one level of inheritance value overrides with dust.js?