Django和Python都是新手。会在此感谢一些建议。我确实搜索过类似的问题,但找不到能解决问题的问题。
这是我写的一个观点。预期的行为是检查列表的长度(区域列表),如果该列表中只有一个对象,则渲染到一个模板,如果有多个对象,则渲染到另一个模板。如果列表中没有对象,则会自动引发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))
非常感谢任何帮助
答案 0 :(得分:4)
您正在寻找the len()
builtin。
E.g:
if len(districts_list) == 1:
...
seq.count()
方法计算单个元素在序列中出现的次数,并且需要一个参数(要计数的元素)。