gpt4 book ai didi

python - 上传文件然后显示内容,django

转载 作者:太空宇宙 更新时间:2023-11-03 20:51:54 25 4
gpt4 key购买 nike

我将在序言中指出我是一个 Python 初学者。

我正在尝试构建一个非常简单的应用程序,用户在其中上传 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>


这是我收到的错误:

异常类型:名称错误异常值:
名称“icsfile”未定义

最佳答案

您将文件定义为 myfile

尝试更换

filename = fs.save(icsfile.name, icsfile)

filename = fs.save(myfile.name, icsfile)

关于python - 上传文件然后显示内容,django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56265434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com