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)
...