2009-02-27 4 views
-5

Aide s'il vous plaît avec un tag personnalisé django. Analisez-le s'il vous plaît!Teleport - tag personnalisé django

Idée:

  1. En tout modèle (parent ou enfant), nous l'installation d'une balise {{télépoint "tête"}}, avec un nom, ces putters pourrait être plus d'un.

  2. A un autre côté, nous avons bloc

    {{ teleputter "head" "unique-name" }} some html {{ teleputterend }} 
    

    contenu de ce bloc va Télépoint avec le nom de télépoint approprié.

+0

Ce que vous essayez d'accomplir n'est pas très clair. S'il vous plaît élaborer. – awithrow

+0

J'essaie de faire une fonction d'héritage similaire {{extend}}, mais pour les {{include}} modèles et avec la possibilité d'envoyer non pas un, mais beaucoup de blocs, à un conteneur –

+0

Donc dans le template vous auriez un {{{ telepoint}} tag et cette balise serait remplacée par le contenu de {{teleputter}}} Ou ai-je encore quelque chose? – awithrow

Répondre

2

Cela sonne comme vous essayez de mettre en œuvre l'héritage du modèle: http://docs.djangoproject.com/en/dev/topics/templates/#id1

Lire la documentation complète pour la meilleure explication. La version Readers Digest suit.

Essentiellement, vous avez un modèle de base avec des blocs de contenu avec des valeurs par défaut:

base.html 
{% block head %} "Default html goes here" {% endblock %} 

Ensuite, vous créez un autre modèle qui étend le modèle de base et de construire les blocs que vous souhaitez remplacer:

anotherTemplate.html 
{% extends "base.html %} 
{% block head %} "This replaces the html in the base head block" {% endblock %} 

Il me semble que votre "télépoint" est un bloc dans le modèle de base et votre "teleputter" est un bloc qui étend le modèle de base

ressemble à ce que vous essayez de faire? Ce que vous essayez de mettre en œuvre est-il différent?

+0

Je disais déjà, que cela ressemble à l'héritage, mais ce n'est pas Différence: 1. teleputter - pourrait trouver le point de télépoint du modèle qui a ajouté comme inclure 2. bloquer en héritage pourrait remplir une seule fois 3. l'héritage signifie que je vais utiliser seulement un modèle enfant, mais je fais des composants que je vais inclure –