Django-fr

Forum

#1 04-08-2015 03:04:06

Alone9
Membre
Inscription : 29-08-2014
Messages : 32

Dict() global KeyError

Salut,

alors voila, j'ai dictionnaire global dans un views.py qui sert à stocker quelques information qui temporairement, mais le problème c'est que une fois sur deux la view qui appelle une information contenu dans le dict() me renvoie une erreur KeyError alors que cette information existe belle et bien.

#views.py

RoomList={'exemple':{'name_room':'test','password':'test'}}

def InRoom(request, room): #room = 'exemple'
    context={'room':RoomList[room],'RoomList':RoomList}

    return render(request ,"room/inroom.html", context)

PS: Mon projet Django est sur Nginx, je ne sais pas si c'est a prendre en compte.

Dernière modification par Alone9 (04-08-2015 03:12:20)

Hors ligne

#2 06-08-2015 02:52:46

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Dict() global KeyError

Bonjour,

RoomList - en Python on préfère écrire room_list pour une variable our ROOM_LIST pour une constante - est une variable globale. En revanche, en fonction de la façon dont Django tourne, il est possible que tu ne vois pas les modifications faites par une requête précédente. Les variables globales sont limitées à un process et ne seront donc pas toujours partagées si tu utilises plusieurs process.
Le mieux serait que tu loggues le contenu de ta variable pour vérifier.

Hors ligne

Pied de page des forums