使用 Flask 提供 ical feed

Rom*_*man 3 python icalendar flask

我有一个小烧瓶网站,我想从它提供一个 ical feed。我已经创建了一个经常更新的 ics 文件,但是我不知道如何从网站上提供它。我试过通过Response和 来完成serve_file,但它们只显示文件中的文本。

pjc*_*ham 6

您需要设置响应的正确内容处置标头。在您的情况下,标题将类似于以下内容:

Content-Disposition: attachment; filename=calender.ics;
Run Code Online (Sandbox Code Playgroud)

在您的 Flask 路由中,您的代码应如下所示:

from flask import make_response

app = Flask(__name__)

# ...

@app.route('/calendar/')
def calendar():

    #  Get the calendar data
    _calendar = make_calendar()

    #  turn calendar data into a response
    response = make_response(_calendar)
    response.headers["Content-Disposition"] = "attachment; filename=calendar.ics"
    return response
Run Code Online (Sandbox Code Playgroud)