/ / Fonction intégrée de la gamme python (), erm… ne fonctionne pas correctement avec Django - python, django, plage de dates, intégrée

Fonction intégrée de la gamme python (), erm… ne fonctionne pas correctement avec Django - python, django, plage de dates, intégrée

Quel est le problème, le cas échéant, avec cette ligne de code python:

daterange = [begin + timedelta(n) for n in range((end - begin).days)]

begin et end sont datetime.date objets avec des valeurs valides.

J'utilise cette fonction dans une vue Django pour traiter certaines données, mais chaque fois que la vue utilisée est appelée, l'erreur suivante s'affiche avec la ligne susmentionnée mise en surbrillance:

UnboundLocalError at /url/of/error/creating/view/here/
local variable "range" referenced before assignment

Si j’exécute cette ligne à l’intérieur de l’interprète, cela fonctionne bien, mais elle ne survole pas dans une vue Django. Je ne comprends pas pourquoi. range est interprété comme un nom de variable du tout. Y at-il réellement quelque chose qui ne va pas avec cette ligne, ou est-ce quelque chose d’autre dans le code qui fait que Django se plaint?

Aidez-moi!

Réponses:

11 pour la réponse № 1

Il n’ya rien de mal avec Django. Vous créez une variable locale range dans le même périmètre (en en assignant un). Par exemple range = None dans la toute dernière ligne d'une fonction, Python considère une occurrence de range dans la première ligne de la même fonction, une référence à cette variable locale. Comme il n’a pas de valeur assignée à ce moment-là, vous obtenez un UnboundLocalError.