Fondamentalement, j'essaie de rediriger les personnes qui ne sont pas connectés à la page de connexion.Django: HttpResponseRedirect ne passe pas RequestContext()?
Ce que je suis actuellement en utilisant est:
return render_to_response('login.html', context_instance=RequestContext(request))
Mais qui laisse l'URL à la page d'accueil. Je voudrais avoir des comptes rediriger vers// login /, mais quand je l'utilise
return HttpResponseRedirect('/accounts/login/')
j'obtiens l'erreur
Key 'username' not found in <QueryDict: {}>
Je comprends que pour dire que je ne besoin d'avoir Y a-t-il une bonne redirection, et passe-t-il quand même RequestContext?
Merci pour la réponse. Je me suis rendu compte que mon problème était plutôt stupide et n'avait rien à voir avec ce que j'ai posté ci-dessus. Il s'avère que j'ai oublié de passer une context_instance dans ma vue de connexion ... Cependant, votre commentaire m'a effectivement aidé ailleurs, alors merci beaucoup! –
@Stone mais un requestcontext peut être nécessaire en cas de jeton csrf. https://docs.djangoproject.com/fr/dev/ref/contrib/csrf/. Ainsi, lors de la vue Httpresponseredirect, aucun contexte de requête n'est utilisé. Ce ne serait pas un problème? –
J'ai utilisé une requête ajax et j'ai envoyé une redirection en cas d'échec pour que json affiche une réponse invalide et render_to_response en cas de succès.Failure fonctionne bien mais en cas de succès je vois le template envoyé par render_to_response sur la même page ... Comment faire face à cela .. – cafebabe1991