2010-06-01 14 views
0

Je viens ici, parce que j'ai une question sur Django et Thread. J'ai lu la documentation http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#template-tag-thread-safety et je voudrais maintenant savoir si le code suivant pourrait être impacté aussi, au niveau du rendu.Django Thread-Safety pour templatetags

class ChatterCountNode(NodeBase): 
    def __init__(self, channelname, varname): 
     self.channelname = channelname 
     self.varname = varname 

    def render(self, context): 
     channelname = self.getvalue(context, self.channelname) 
     varname = self.getvalue(context, self.varname) 
     count = get_channel_count(channelname) 
     context[varname] = count 
     return '' 

Répondre

0

Non, votre code est thread-safe. Voir l'exemple qu'ils ont dans les documents avec la balise de cycle.

+0

Hmmm, merci. Imaginez que nous ayons le code suivant dans un modèle, pouvons-nous avoir des effets indésirables?

{% get_chatters_count "zb_3" as zb3 %} {{zb3}}

{% get_chatters_count "zb" as zb %} {{zb}}

{% get_chatters_count "zb_1" as zb1 %} {{zb1}}

{% get_chatters_count "zb_2" as zb2 %} {{zb2}}

Merci. – Acti67

+0

Ok, le problème vient seulement si on veut utiliser un template dans une boucle par exemple et enregistrer une valeur dans l'instance. – Acti67