Занимаюсь по книжке, и в ней представлен такой багнутый код:
def post_search(request):
form = SearchForm()
if 'query' in request.GET:
form = SearchForm(request.GET)
if form.is_valid():
cd = form.cleaned_data
results = SearchQuerySet().models(Post).filter(content=cd['query']).load_all()
# count total results
total_results = results.count()
return render(request, 'blog/post/search.html', {'form': form,
'cd': cd,
'results': results,
'total_results': total_results})
При ложности условий выводится ошибка UnboundLocalError с указанием на переменные cd, results, total_results.
Как этот момент лучше обработать?
Присвоить их None до условия? Засунуть этот return в условие, а по else написать return без этих переменных? Или подобное через try-except? Иной вариант?
Updated 5 Nov. 2016, 12:02 by Gambit.