Код:Джанго: request.GET и KeyError
# it's an ajax request, so parameters are passed via GET method
def my_view(request):
my_param = request.GET['param'] // should I check for KeyError exception?
В PHP рамочные я обычно должен проверить параметра существует и перенаправляет пользователя куда-нибудь, если это не так. Но в параметре неинициализированного Django появляется страница с 500 ошибками, и это кажется желаемым поведением. Так что нормально оставить код как есть или есть лучший практик? Должен ли я всегда использовать стандартные параметры, передаваемые как/myaction/paramvalue/вместо/myaction? Param_name = param_value (как бы сложно создать такие URL-адреса для аякс-запросов)?
btw try ... except block, кажется, лучше в случае, если у меня есть несколько параметров (1 исключая блокировку нескольких проверок для None). – glss
Да, правда. Вы также можете обнаружить, что вам нужно выполнять более конкретные проверки параметров отдельно для правильного диапазона значений, совместимости между параметрами и т. Д. –
Я использую формы django для проверки ввода, даже для вызовов ajax. Это проще в использовании, если у вас много входных параметров, и это делает большую часть работы для вас. – OmerGertel