我尝试使用WeasyPrint从我的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
出于某种原因,尽管我已登录,但该功能似乎无法下载受保护的视图。如何才能正确下载该功能?
答案 0 :(得分:0)
结果render_template
只返回一个html字符串,所以我可以在路径的末尾执行以下操作:
html = render_template('myprojects.html', projects=projects)
return render_pdf(HTML(string=html))