Я предвосхищу это, отметив, что я новичок в питоне.
Я пытаюсь создать очень простое приложение, в котором пользователь загружает файл ics, а после отправки файл анализируется, и приложение отображает содержимое в удобочитаемом формате.
Я пытаюсь использовать FileSystemStorage (), но я не могу правильно его настроить.
Вот так выглядит мой views.py и шаблон.
# views.py
from django.core.files.storage import FileSystemStorage
from django.views.decorators.clickjacking import xframe_options_exempt
from icalendar import Calendar, Event
from pytz import UTC
@xframe_options_exempt
def index(request):
if request.method == 'POST' and request.FILES['icsfile']:
myfile = request.FILES['icsfile']
fs = FileSystemStorage()
filename = fs.save(icsfile.name, icsfile)
uploaded_file_url = fs.url(filename)
g = open(uploaded_file_url, 'rb')
gcal = Calendar.from_ical(g.read())
for component in gcal.walk():
if component.name == "VEVENT":
summary = component.get('summary')
description = component.get('description')
start_time = component.get('dtstart')
end_time = component.get('dtend')
g.close()
return render(request, 'ics_parser/index.html', {
'uploaded_file_url': uploaded_file_url,
'summary': summary,
'description': description,
'dtstart': dtstart,
'dtend': dtend,
})
return render(request, 'ics_parser/index.html', {})
# index.html
<div class="ics-formatter"></div>
<div class="row">
<div class="col-sm-6">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="icsfile">
<button type="submit">Upload</button>
</form>
</div>
<div class="col-sm-6">
{% if uploaded_file_url %}
<p>{{description}}</p>
{% endif %}
</div>
</div>
Это ошибка, которую я получаю:
Тип исключения: NameError
Значение исключения:
имя 'icsfile' не определено