2010-07-26 6 views
0

j'ai le même code sur localhost et sur le serveur (grâce à Mercurial), mais il fonctionne un peu différent. Je veux rendre la catégorie et ses sous-catégories dans ce modèle en utilisant le code suivant:django-MPTT sélection des enfants fonctionne sur localhost, mais pas sur le serveur

views.py:

def category(request, category_slug): 
    try: 
     category = Category.objects.get(slug=category_slug) 
    except: 
     raise Http404 
    subcats = category.get_children() 

    return render_to_response('catalogue.html', 
      {'category': category, 
      'subcats': subcats, 
    'header_template':'common/includes/header_%s.html' % flixwood_settings.CURRENT_SITE 
      }, 
      context_instance=RequestContext(request)) 

modèle:

<div class='subcats'> 
    {% for subcat in subcats %} 
    {% ifequal subcat.level 1 %} 
    <div class="item"> 
    <a href="{% url flixwood.views.category category_slug=subcat.slug %}"><img src="{% thumbnail subcat.image 66x66 %}" class="thumb"></a> 
    <a href="{% url flixwood.views.category category_slug=subcat.slug %}" class="name">{{ subcat.category }}</a> 
        {{ subcat.short_description|safe }} 
    <div class="clear_left"></div> 
    </div> 
    {% cycle '' '' '<div class="clear_left"></div>'|safe %} 
    {% endifequal %} 
    {% endfor %} 
</div> 

mais cependant ce code fonctionne parfaitement sur localhost (sous-catégories sont rendu à droite) - il ne fonctionne pas sur le serveur, et les {{Sous-Catégories | longueur}} renvoie 0. I par rapport des valeurs de bases MySQL sur localhost et sur le serveur - ils ont raison et droit des successions devraient w ork. Le plus drôle est que la même requête fonctionne parfaitement dans manage.py shell sur le serveur.

Ce que le hack est le problème?

+0

Votre code inclus n'a pas {{subcats | length}}. Voulez-vous dire niveau? – Leopd

+0

des différences dans settings.py? Qu'en est-il de l'administrateur? toute mise en cache fonctionne ici? et peut-être différentes versions de Django? – mawimawi

+0

{{subcats | length}} renvoie 0 si je l'insère à n'importe quel endroit dans le modèle. Et il n'y a pas de différences dans les fichiers, c'est la même validation du dépôt. La version de Django correspond également, c'est 1.1. – Enchantner

Répondre

0

Le problème a été résolu - il était dans .pyc fichiers, qui sont recréer seulement après apache est redémarré. C'est pourquoi le bon code dans les fichiers .py ne fonctionnait pas.

Questions connexes