【问题标题】:How to use WeasyPrint PDF Builder on Password Protected Pages?如何在受密码保护的页面上使用 Wea​​syPrint PDF Builder?
【发布时间】:2016-09-26 07:48:01
【问题描述】:

我正在尝试使用 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

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

【问题讨论】:

    标签: python flask weasyprint


    【解决方案1】:

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

    html = render_template('myprojects.html', projects=projects)
    return render_pdf(HTML(string=html))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 2015-04-19
      • 2010-09-27
      • 1970-01-01
      相关资源
      最近更新 更多