0

Django と Python の両方に関して言えば、ほぼ初心者です。ここでいくつかの提案をいただければ幸いです。同様の質問を検索しましたが、問題を解決する質問が見つかりませんでした。

これは私が書いた見解です。意図した動作は、リスト (地区リスト) の長さをチェックし、そのリストにオブジェクトが 1 つしかない場合は 1 つのテンプレートにレンダリングし、複数ある場合は別のテンプレートにレンダリングすることです。リストにオブジェクトがない場合、404 が自動的に発生します。

    @never_cache
def district_list(request, county_slug):
    districts_list = get_list_or_404(NeigbourhoodPostcodeDistrict, county__slug=county_slug)
    if districts_list.count() == 1:
        context = {
        'districts_list': districts_list,
        }
        return render_to_response('neighbourhood/neighbourhood.html',context,context_instance=RequestContext(request))
    else:
        context = {
            'districts_list': districts_list,
        }
        return render_to_response('neighbourhood/district-list.html',context,context_instance=RequestContext(request))

どんな助けでも大歓迎です

4

1 に答える 1

4

あなたはビルトインを探していますlen()

例えば:

if len(districts_list) == 1:
    ...

このseq.count()メソッドは、個々の要素がシーケンス内で出現する回数をカウントし、1 つの引数 (カウントする要素) を必要とします。

于 2013-01-08T12:41:20.977 に答える