Python range()内置函数,erm ......与Django发生故障

cha*_*sie 3 python django date-range built-in

这行python代码有什么问题,如果有的话:

daterange = [begin + timedelta(n) for n in range((end - begin).days)]
Run Code Online (Sandbox Code Playgroud)

其中beginenddatetime.date与有效值的对象.

我在Django视图中使用它来处理一些数据,但是每次调用此视图时都会调用以下错误,并突出显示上述行:

UnboundLocalError at /url/of/error/creating/view/here/
local variable 'range' referenced before assignment
Run Code Online (Sandbox Code Playgroud)

如果我在解释器中执行此行它工作正常,但不知何故它不会在Django视图中飞行.我不明白为什么range被解释为变量名.这条线实际上有什么问题,或者代码中的其他东西是否让Django抱怨?

救命!

小智 11

Django没什么问题.您range在同一范围内创建一个局部变量(通过分配一个).例如range = None,在函数的最后一行中,Python会考虑range在同一函数的第一行中出现对该局部变量的引用.由于它没有在该点分配的值,因此您得到一个UnboundLocalError.