我尝试编写这些变量并将它们重新插入 Django 快捷方式的渲染函数中,这意味着只为一个变量编写至少 4 次。
例如:
def foo(request):
bar = request.GET.get('bar')
bar += 1
result = {'bar':bar}
render('parrot.html', result)
当我只写一个 var 时没关系,但是当涉及到 20 多个 GET var 时,这完全是一场灾难。
有什么建议吗?
首先, 的返回值的类型request.GET.get('bar')
是str
orNoneType
而不是int
,因此您不能简单地添加它1
。
其次,记住没有“魔法”,我想像下面这样重写代码,但仍然出现四次bar
def foo(request):
try:
bar = 1 + int(request.GET['bar'])
except:
bar = 0
return render('parrot.html', {'bar':bar})
如果您不喜欢这种冗长,只需将try...except
部分抽象为一个助手,例如get_int
. 当有 20 个或更多的 var 进行操作时,您可能需要更高级别的抽象,例如Django 表单...