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 を返します。localhost とサーバーの MySQL ベースの値を比較しました - それらは正しいです継承が機能するはずです。最もおもしろいのは、同じクエリがサーバー上のmanage.py シェルで完全に機能することです。

ハックの何が問題なのですか?

4

1 に答える 1

0

問題は解決されました - それは.pycファイルにあり、Apache の再起動後にのみ再作成されます。そのため、.pyファイルの正しいコードが機能しませんでした。

于 2010-07-27T10:00:14.520 に答える