2009-12-03 5 views
0

Le développeur senior (et la seule personne expérimentée avec Django dans notre entreprise) a déménagé et nous a quitté. Peu de temps après (suivant ses instructions) nous avons poussé un site en live sur un serveur partagé (nous avons un contrôle total sur le serveur) et mis à jour la version de Django à la dernière version pour que le nouveau site fonctionne.Tags obsolètes Django/débutant

Depuis lors, nous avons eu des problèmes avec l'autre projet Django qui a été construit en utilisant une ancienne version.

Le problème principal que j'ai est que nous avons un crontab qui envoie un email au client décrivant leurs commandes. J'ai pris une capture d'écran de l'erreur que je reçois, mais si je suis honnête, j'ai du mal à comprendre. Les noms ont été changés pour protéger l'innocent (client).

http://i-am-a-fish.co.uk/help.png

J'ai téléchargé une capture d'écran à nouveau i-am-a-fish.co.uk/help2.png

Toutes les suggestions sont très bien accueillis!

+0

Qu'est-ce que la ligne 570 de rpg.py? –

+0

570 raise inst Cela aide-t-il? – Shaun

+0

Eh bien, vous avez changé les noms dans la trace d'erreur, mais pas dans votre nom de fenêtre! Changez-le et mettez une autre image ici si vous pensez vraiment que sa vie privée est importante! – GmonC

Répondre

5

L'avertissement de dépréciation n'est pas la raison, vous pouvez l'ignorer (sauf si vous voulez réparer et utiliser hashlib). La raison est multipart_subtype que votre classe personnalisée EmailAlternativesMessage ne définit pas. Essayez de trouver la déclaration de EmailAlternativesMessage et ajouter

class EmailAlternativesMessage(EmailMessage): 
    multipart_subtype = 'alternative' 
    ... 
+0

Vous êtes un sauveur absolu! Cela a fonctionné un régal! Pourquoi cela a-t-il fonctionné? Je pense que je dois faire mes devoirs ;-) – Shaun

+0

Heureux que cela l'ait fait, mais vous devez savoir que c'est un quickfix, difficile de faire mieux sans une inspection correcte du code. Il y a beaucoup d'autres types de courrier en plusieurs parties, que vous devriez utiliser en fonction de ce que vous envoyez - vous pouvez en savoir plus sur les options possibles sur http://en.wikipedia.org/wiki/MIME#Multipart_messages – kibitzer

3

Maintenant que votre problème immédiat est fixe, la vraie solution est d'utiliser virtualenv pour isoler les dépendances de chaque projet (y compris Django lui-même) des autres, afin de déployer un projet basé sur Django récent ne nécessite pas une mise à niveau immédiate de tous les autres sites sur le serveur.