Добавление вложения электронной таблицы в Django и генерация ежемесячных отчетов

Я пытаюсь реализовать проект временной таблицы. Я использую Django rest-framework и использую Postgres в качестве базы данных. Мой клиент попросил меня, что ему нужна функциональность электронных таблиц, например, определенный администратор должен иметь ежемесячные отчеты о своих сотрудниках в электронных таблицах каждый месяц, и этот процесс должен быть автоматизирован. Поскольку я новичок в Django, пожалуйста, проведите меня через этот процесс

 **utitles.py**

import threading
from django.core import mail

class EmailThread(threading.Thread):
    def __init__(self, subject, plain_message, from_email, to_email):
        self.subject = subject
        self.plain_message = plain_message
        self.from_email = from_email
        self.to_email = to_email
        super(EmailThread, self).__init__()

    def run(self):
        mail_send = mail.send_mail(self.subject, self.plain_message, self.from_email [self.to_email])
        print('mail send successfully ', mail_send)


**serializers.py** 

class UserSerializers(serializers.ModelSerializer):
    
    def create(self, validate_data):
        subject = 'Your account was activated'
        plain_message = 'SAMPLE TEXT'
        from_email = 'demomaster147@gmail.com'
        to_email = validate_data['email']
        attach_files = ['Client-2022-02-04.xls']
        EmailThread(subject, plain_message, from_email, to_email,attach_files).start()
        return Users.objects.create(**validate_data)

**settings.py**

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'demoma@gmail.com'
EMAIL_HOST_PASSWORD = '**********'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

вы можете использовать сельдерейный бит для автоматизации https://docs.celeryproject.org/en/stable/index.html

https://docs.celeryproject.org/en/stable/userguide/periodic-tasks.html

https://github.com/celery/django-celery-beat

Вернуться на верх