Código:Django: request.GET y 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?
en PHP Frameworks que normalmente tienen que comprobar para el parámetro a que existe y redirigir el usuario en algún lugar si no lo hace. Pero en Django los resultados del parámetro no existente en la página de error 500 y parece el comportamiento deseado. Entonces, ¿está bien dejar el código como está o hay una práctica mejor? ¿Debo usar siempre parámetros estándar que pasan como/myaction/paramvalue/en lugar de/myaction? Param_name = param_value (es un poco difícil construir tales URL para solicitudes ajax)?
btw try ... excepto que el bloque parece ser mejor en caso de que tenga varios parámetros (1 excepto el bloque de varias comprobaciones para None). – glss
Sí, cierto. También es posible que deba realizar comprobaciones más específicas de los parámetros de forma individual para obtener un rango adecuado de valores, compatibilidad entre parámetros, etc. –
Uso formularios django para validar la entrada, incluso para llamadas ajax. Es más fácil de usar si tiene muchos parámetros de entrada y hace la mayor parte del trabajo por usted. – OmerGertel