Non pris en charge type d'opérande pour NoneType et str
Je reçois un message qui indique:
Traceback (most recent call last):
File "/var/www/fosa/error_supressor.py", line 46, in <module>
sys.stderr.write(latest + '\n')
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
J'ai essayé de résoudre ce problème pendant des jours maintenant, mais honnêtement, je suis un rocky programmeur.
Donc, nous allons mettre en ligne le problème et voir si il y a un patient la personne qui peut prendre le temps de résolution d'un humble étranger problème 🙂
D'ailleurs que lorsque je vérifie mon erreur journal, je trouve ce message d'erreur, ce qui je pense est lié:
File "/var/www/fosa/app/controllers/client/client.py", line 601, in detail
if not course.bookable or not course.school.partner.active: # both objects are boolean
AttributeError: 'NoneType' object has no attribute 'bookable'
Que faites-vous pour obtenir de l'erreur? Est ce code que vous avez écrit? Pouvez-vous poster le code qui donne l'erreur?
Avez-vous écrire ces fichiers? Si oui, donnez-nous les sections pertinentes d'entre eux, s'il vous plaît.
un rapide coup d'œil tells me que vous avez besoin de faire quelque chose comme sys.stderr.write(str(dernière version) + '\n') car le dernier n'est pas une chaîne. mais abit de code posté ici pourrait aider
Oui, la conversion en chaîne de caractères peut être une bonne stratégie de débogage à tout le moins.
Avez-vous écrire ces fichiers? Si oui, donnez-nous les sections pertinentes d'entre eux, s'il vous plaît.
un rapide coup d'œil tells me que vous avez besoin de faire quelque chose comme sys.stderr.write(str(dernière version) + '\n') car le dernier n'est pas une chaîne. mais abit de code posté ici pourrait aider
Oui, la conversion en chaîne de caractères peut être une bonne stratégie de débogage à tout le moins.
OriginalL'auteur Hype | 2011-01-17
Vous devez vous connecter pour publier un commentaire.
Quelque chose de liaison
None
àlatest
. Comprendre ce que c'est et corriger votre erreur logique.Quelque chose de liaison
None
àcourse
. La Figure etc.OriginalL'auteur Ignacio Vazquez-Abrams
Évidemment de la traçabilité en amont, on a:
-
latest
n'est-
course
n'estUn modèle commun en python est d'avoir des noms de variables toujours être lié à un type unique, sauf lorsque le plus significatif de la valeur que l'on peut attribuer est un 'null' valeur, auquel cas tu ferais la variable est égale à
None
. E. g. direget(pk)
renvoie un objet de la DB, mais il renvoieNone
quand il n'y a pas d'objet pour la clépk
. Pour corriger le bug que j'ai fais ceci:Écrire quelque chose comme:
ou peut-être
au lieu de
OriginalL'auteur primroot