如何创建一个脚本,它将我的Django用户的所有电子邮件地址打印成一个小的.txt文件?

noa*_*ale 0 python email django django-models

我有大约6000名用户使用我的Django应用程序.我最近发现了Mailchimp,我想向所有这些用户发送一条消息,告知该网站停用了几天.

而不是复制和粘贴每个电子邮件(约6000).我想知道是否有一个python脚本或者某些内容可以将我应用中每个django用户的所有电子邮件地址写成一个小的.txt.

我该怎么做呢?

kar*_*ikr 5

您可以编写管理命令来实现相同的目标.

from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User

class Command(BaseCommand):

    def handle(self, *args, **options):
        user_emails = User.objects.values_list('email', flat=True)
        with open('myfile.txt', 'w+') as fh:
            fh.write(", ".join(list(user_emails)))
Run Code Online (Sandbox Code Playgroud)

并在命令行中:

./manage.py <managementcommand_filename> 
Run Code Online (Sandbox Code Playgroud)