Django Python ICalendar

Я хочу загрузить файл с расширением ICS, после загрузки этого файла сохранить только события с кодом "10059707" и вывести файл загрузки. Вот мой код :

views.py


def calendar_list(request):
        calendars = CalendarModel.objects.all()
        return render(request, 'upload_app/calendar_list.html',{
            "calendars" : calendars
        })
    
def upload_calendar(request):
    if request.method == "POST":
        form = CalendarForm(request.POST, request.FILES)
        g = request.FILES['calendarfile']
        gcal = Calendar.from_ical(g.read())

        cal2 = Calendar()
        for component in gcal.walk():
            if component.name == "VEVENT":
                ATTENDEE = component.get('ATTENDEE')
                SUMMARY = component.get('SUMMARY')
                if ATTENDEE is not None and '10059707' in ATTENDEE:
                    print("1:{}\n 2:{}\n".format(ATTENDEE,SUMMARY))
                    event2 = Event()
                    event2.add('attendee',vCalAddress(ATTENDEE))
                    event2.add('summary', "作業予定あり")
                    cal2.add_component(event2)

***** What can I do in here?********

        cal2.to_ical()
        
        if form.is_valid():
            form.save() 
            return redirect('calendar_list')
    else:
        form = CalendarForm()
    return render(request, 'upload_app/upload_calendar.html',{
            "form" :form
    })

.....


Я не знаю, как я могу обработать этот запрос в Django, чтобы разобрать ics файл. models.py


# Create your models here.

class CalendarModel(models.Model):
  calendartitle = models.CharField("ファイル名",max_length=100)
  calendarfile = models.FileField("ファイル追加",upload_to="icsfile")
  cover = models.ImageField("ファイルイメージ",upload_to="cover_img", null=True,blank=True)

...

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