代码:Django的:和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(为Ajax请求建立这样的URL有点困难)?
btw尝试...除了块似乎是更好的情况下,我有几个参数(除了块insteat几个检查无)。 – glss 2010-10-02 12:22:15
是的,的确如此。您也可能会发现,您必须对参数进行更具体的检查,以确定适当的值范围,参数之间的兼容性等。 – 2010-10-02 12:49:18
我使用django表单来验证输入,即使对于ajax调用。如果您有许多输入参数,使用起来更容易,并且它为您完成大部分工作。 – OmerGertel 2010-10-02 14:42:09