2010-09-24 7 views
0

Dans mes vues, je veux transmettre une condition d'erreur.Odd Django Problème


def something(request): 
    name = request.GET.get('name') 
    if name is None: 
     return render_to_response('myapp.html', {'invalid': 'true'}) 

Ensuite, dans mon modèle, je veux afficher des choses différentes en fonction de cela.

donc je fais:


{% if invalid %} 
INVALID 
{% else %} 
ALL OK 
{% endif %} 

Cependant, la sortie est:

VALIDE

ALL OK

Il montre à la fois des choses - peut-on suggérer une raison quelconque. Probablement quelque chose de stupide que j'ai fait. Mais me rendre fou.

+1

Comme @pleasedontbelong suggéré dans sa réponse, faire changer votre contexte '{ 'invalide': true}'. Néanmoins, les deux valeurs ne doivent pas être imprimées même avec votre code existant. Pouvez-vous poster le reste du contenu du modèle? –

Répondre

2
{'invalid': True} 

est peut-être à cause de cela ..

+1

Oui - parce que la chaîne "false" est évaluée à "true" (ie, 'bool (" false ") == True'). –