Vous n'êtes pas identifié(e).
Hello la communauté ! Un petit nouveau vient d'arriver !
je suis sur un problème depuis 6 heures que je n'arrive pas à résoudre. Je tiens à signaler que je suis un gros noob dans le developpement web et que j'ai commencé à coder avec django il y a un petit mois, donc priere de ne pas me taper dessus
je vous remercie egalement de prendre la peine de regarder lire et répondre a mon post
aujourd'hui j'ai voulu mettre en place le systeme de cache et de session dans un projet professionnel. Les test sur le cache marchaient bien alors je suis passé à la mise en place des sessions. Et là le drame s'est produit.
voici mon probleme:
Je crée une clé dans request.session. Apres avoir appelé une autre fonction avec request en parametre j'arrive à récupérer la clé.
Ensuite j'arrive sur index html. Je fais alors une requete ajax vers une autre view pour recuperer des donnees. Pour les récupérer j'ai besoin de la valeur contenue dans la clé. Sauf que celle ci n'existe plus. T_T
voici le code:
def check(request):
if request.method == 'POST':
RequestContext(request)
try:
m = MsGnlMember.objects.get(mbr_nom=request.POST['username'])
except (ObjectDoesNotExist):
return render_to_response('login.html', {'BAD': True, 'username' : 'Unknown User'})
if m.mbr_mdp == request.POST['mdp']:
request.session['MBR_INSTANCE'] = m <<= c'est la que je set la clé
return studio(request)
else:
return render_to_response('login.html', {'BAD': True, 'mdp' : 'Bad Password'})
return render_to_response('login.html', {'Bad' : True })
def studio(request):
username = request.session["MBR_INSTANCE"].mbr_nom
request.session.modified = True #ne regle pas mon bug
getNote = GetNoteForm()
saveNote = SaveNoteForm()
search = SearchForm()
return render_to_response('index.html', {'FORM_GETNOTE' : getNote,
'FORM_SAVENOTE' : saveNote,
'FORM_SEARCH' : search,
'USERNAME' : username}, <<= fonctionne = je vois le resultat sur index.html
context_instance=RequestContext(request))
une fois que index.html est chargé je fais une requete AJAX avec jQuery:
def arbo_get_acts(request):
if request.method == 'POST' and request.is_ajax():
if "MBR_INSTANCE" in request.session: <<= je passe pas dans ce if, la clé a disparu
acts = MsWriAct.objects.filter(act_mbr=request.session['MBR_INSTANCE'])
acts_serialised = serializers.serialize('json', acts)
return HttpResponse(acts_serialised, 'application/json')
else:
acts_serialised = {}
return HttpResponse(acts_serialised, 'application/json')
d'avance merci!
Dernière modification par pioupiou (13-01-2012 18:42:59)
Hors ligne
Merci de me répondre
Comme quoi je ne connais meme pas les outils pour développer:
J'ai ouvert firebug et voila ce que j'ai dans la console a la ligne http://localhost:8000/index/arbo_get_acts/
Content-Length 0
Content-Type application/json
Date Fri, 13 Jan 2012 17:54:27 GMT
Server WSGIServer/0.1 Python/2.7.2
Set-Cookie sessionid=c531a3b804eb2c4d6bf591e826ac387d; expires=Fri, 27-Jan-2012 17:54:27 GMT; Max-Age=1209600; Path=/
Vary Cookie
Requête
Accept application/json, text/javascript, */*; q=0.01
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie csrftoken=e6a0d35a32bcf55c0a0df7a3b1ac7585; sessionid=c531a3b804eb2c4d6bf591e826ac387d
Host localhost:8000
Referer http://localhost:8000/index/check/
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 Firefox/8.0.1
X-CSRFToken e6a0d35a32bcf55c0a0df7a3b1ac7585
X-Requested-With XMLHttpRequest
il y a quelque chose qui devrait m'alerter? (j'y comprends rien, je vois une requete et une reponse qui semble avoir marché
Dernière modification par pioupiou (13-01-2012 19:02:11)
Hors ligne
ok alors j'ai testé chez moi et mon code marche très bien.
Donc tout confiant je reviens mercredi au boulot. Et la paf... ca ne marche pas.
Je deviens fou.
Puis là ce soir ca a fait tilt. Chez moi je suis sur linux.
Au boulot sur windows.
Premiere recherche google:
https://code.djangoproject.com/ticket/9084
T_T probleme resolu. Comment perdre deux jours de dev
Hors ligne