0

我正在尝试使用 Wea​​syPrint 从我的 Flask 应用程序下载一个页面,但是在下载 PDF 时,我将登录页面作为 PDF 而不是预期的页面。

我正在使用以下代码:

@app.route('/report.pdf')
def hello_pdf():
    # Make a PDF from another view
    return render_pdf(url_for('myprojects'))

登录装饰器是:

def login_required(f):
    '''login required decorator to protect routes
    '''
    @wraps(f)
    def wrap(*args, **kwargs):
        if 'logged_in' in session:
            return f(*args, **kwargs)
        else:
            flash('You need to login first.')
            return redirect(url_for('login'))
    return wrap

出于某种原因,尽管我已登录,但该功能似乎无法下载受保护的视图。我怎样才能让它正确下载?

4

1 回答 1

0

结果render_template只是返回了一个 html 字符串,所以我可以在路由结束时执行以下操作:

html = render_template('myprojects.html', projects=projects)
return render_pdf(HTML(string=html))
于 2016-05-28T07:20:13.820 回答