Django Admin Customizing

前端 未结 2 987
青春惊慌失措
青春惊慌失措 2021-02-06 19:38

I am designing an admin interface where invite mails will be sent to users. My Invitation model is ready & in my invitation admin interface I am able to see my added users f

2条回答
  •  日久生厌
    2021-02-06 20:19

    My solution below is for adding the "send invite" action in admin interface

    "Send Invite" action

    You can refer to the django admin-actions documentation here. Here is what your admin.py should look like:

    from django.contrib import admin
    from myapp.models import MyModel
    from django.core.mail import send_mail
    
    class MyModelAdmin(admin.ModelAdmin):
        actions = ['send_invite']
    
        def send_invite(self, request, queryset):
            # the below can be modified according to your application.
            # queryset will hold the instances of your model
            for profile in queryset:
                send_email(subject="Invite", message="Hello", from_eamil='myemail@mydomain.com', recipient_list=[profile.email]) # use your email function here
       send_invite.short_description = "Send invitation"
    
    admin.site.register(MyModel, MyModelAdmin)
    

    I have not tested this code, but it is pretty much what you need. Hope this helps.

提交回复
热议问题