0

我在 localhost 和服务器上有相同的代码(感谢 mercurial),但它的工作方式有点不同。我想使用以下代码在模板中呈现类别及其子类别:

视图.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))

模板:

<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>

但是,这段代码在 localhost 上完美运行(子类别呈现正确) - 它在服务器上不起作用,并且{{ subcats|length }}返回 0。我比较了来自 MySQL 基础上 localhost 和服务器上的值 - 它们是正确的继承应该起作用。最有趣的是,相同的查询在服务器上的manage.py shell中完美运行。

它有什么问题?

4

1 回答 1

0

The problem was solved - it was in .pyc files, which are recreating only after apache is restarted. That's why the right code in .py files didn't work.

于 2010-07-27T10:00:14.520 回答