{% if None == False %}
abc
{% endif %}
Le code ci-dessus, étrangement mon modèle affiché abc
. Toute explication?modèle django comportement étrange
{% if None == False %}
abc
{% endif %}
Le code ci-dessus, étrangement mon modèle affiché abc
. Toute explication?modèle django comportement étrange
Jason Culverhouse fourni la réponse dans un autre question similaire j'ai demandé.
Faux et Aucun sont traités comme des variables, au lieu de constantes. Si les variables ne sont pas trouvées dans le dictionnaire de contexte, elles sont résolues à None.
C'est exactement la façon dont Python résout la 'vérité' pour la comparaison entre différents types.
Voir les docs. "Aucun" est considéré comme faux.
http://docs.python.org/library/stdtypes.html#truth-value-testing
Edit: comme ci-dessous, la console python ne confirme pas ce comportement, donc, je suis aussi surpris. -1 à moi!
Bizarre. En python normal,
if None == False:
# this will not run
print "abc"
File un bug sur Django. :)
Essayer de classer un ticket mais a obtenu l'erreur suivante: Soumission rejetée comme spam potentiel (BlogSpam indique que le contenu est un spam (badip: state/blacklist.d/127.0.0.1)) – goh
Vous pouvez également faire if not None
.
si None == False ne cède pas dans ma console python. – goh
Il suffit de taper "None == False" – laher
(laisser tomber le "si") – laher