您好,我想知道是否有某種方法可以在有人更新Django管理頁面中某些字段的更新時向用戶發送電子郵件。有沒有辦法做到這一點?我已經在表單填寫完成後發送了一封電子郵件,但是一旦有一位用戶通過管理頁面進行更新,我需要發送更多電子郵件。從管理頁面(Django)更新模型後發送電子郵件
我看了一下post_save,model_save和save_formset方法,但我並不覺得他們是我在找的東西。
您好,我想知道是否有某種方法可以在有人更新Django管理頁面中某些字段的更新時向用戶發送電子郵件。有沒有辦法做到這一點?我已經在表單填寫完成後發送了一封電子郵件,但是一旦有一位用戶通過管理頁面進行更新,我需要發送更多電子郵件。從管理頁面(Django)更新模型後發送電子郵件
我看了一下post_save,model_save和save_formset方法,但我並不覺得他們是我在找的東西。
嘗試覆蓋ModelAdmin.save_model
方法。我認爲它已經涵蓋了你需要的所有信息。
change
變量可讓您區分添加或更改模型實例的用戶。
form.changed_data
爲您提供了已更改字段的名稱列表,讓您確定是否發送電子郵件。
最後request.user
標識進行更改的用戶。
您需要django.db.models.signals.post_save
信號。保存模型後進行打磨。
def my_callback(sender, **kwargs):
# Your specific logic here
pass
post_syncdb.connect(my_callback, sender=yourapp.models.TheModel)
參數與該信號發送:
所以你只需要回撥和發件人。
save_models奇妙地工作。當我第一次看到它時,我並不認爲它有用,但它正是我所需要的! – CF711 2012-07-19 18:08:19