Django views best practice: явный или неявный контекст?
Мне интересно, есть ли "лучшее" решение между явным определением контекста и неявным использованием параметра locals() при рендеринге представления.
Первоначальный способ заключается в "объявлении" каждой переменной для использования в контексте представления, благодаря словарю, но Django предлагает некоторые сокращения, а также возможность учитывать все переменные, определенные в представлении, как часть контекста.
Есть ли различия между обоими вариантами (контекстная переменная, определенная в dict, и 'locals()'), и является ли один из них "лучше" (и почему?)?
Btw (вспомогательный вопрос): Я совсем новичок в Django и никогда не использовал return HttpResponse(...), а всегда return render(...), я не прав?
locals() является антипаттерном. IMO вы всегда должны определять, что вы хотите передать в шаблон. Если вы передаете locals(), вы также можете перезаписать context_variable
Загляните в дзен питона: https://www.python.org/dev/peps/pep-0020/
Explicit is better than implicit.
Функция Render является своего рода "ярлыком" для HttpResponse, render_to_string, (https://docs.djangoproject.com/en/4.0/topics/http/shortcuts/#render), так что использовать ее - благое дело :)