Actions personnalisées dans Django Admin
dans mon Django app j'ai un Bulletin modèle. Maintenant, je voudrais être en mesure de envoyer la newsletter (et même renvoyer) à partir de Django Admin.
Je pourrais le faire avec un crochet sur la Model.save()
méthode, mais est-il une autre voie qui n'est pas liée au Modèle?
Grâce
source d'informationauteur Lorenzo
Vous devez vous connecter pour publier un commentaire.
Admin actions vous permettent de raccorder des actions personnalisées qui peuvent être effectuées sur les éléments sélectionnés à partir de l'admin de la liste des pages.
Si vous le faites à partir de l'admin, alors vous aurez besoin de remplacer la méthode save (), mais il peut être le AdminModel sauver... n'a pas besoin d'être le Modèle complet enregistrer.
Toutefois, si vous êtes emailing un beaucoup des e-mails, une meilleure approche serait d'installer django-mailer qui met des e-mails dans une file d'attente pour un traitement ultérieur et ensuite vous offre une nouvelle gestion de la commande: send_mail.
Donc, une fois que vous êtes prêt à envoyer la newsletter, vous pouvez exécuter manuellement
python manage.py send_mail
. Les e-mails avec des erreurs seront déplacés vers un différé de file d'attente où vous pouvez réessayer de les envoyer plus tard.Vous pouvez automatiser cela en exécutant
manage.py send_mail
à partir de cron.Si vous voulez vraiment obtenir la fantaisie et le faire à partir de l'admin du site, installez django-chronographe et de configurer votre send_mail calendrier à partir de là.
vous pouvez essayer ce https://www.youtube.com/watch?v=WvL1cR2MgLI
il suffit de changer
à quelque chose comme