это моя структура папок
static
templates
wkhtmltopdf
app.py
Procfile
requirements.txt
runtime.txt
это то, что я написал в app.py
from flask import Flask, render_template, request, redirect, make_response
import pdfkit
config = pdfkit.configuration(wkhtmltopdf="./wkhtmltopdf/bin/wkhtmltopdf.exe")
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/form', methods=['GET', 'POST'])
def form():
if request.method == 'POST':
name = request.form.get('name')
email = request.form.get('email')
number = request.form.get('number')
res = render_template('generatepdf.html', name=name, email=email, number=number)
responsestring = pdfkit.from_string(res, False, configuration=config)
response = make_response(responsestring)
response.headers['Content-Type'] = 'application/pdf'
response.headers['Content-disposition'] = 'inline;filename=test.pdf'
return response
else:
return render_template('form.html')
if __name__ == '__main__':
app.run(debug=True)
это то, что я написал в requirements.txt
click==7.1.2
django-wkhtmltopdf==3.3.0
Flask==1.1.2
gunicorn==20.0.4
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
pdfkit==0.6.1
six==1.15.0
Werkzeug==1.0.1
wkhtmltopdf==0.2
Я получаю это в журналах heroku
2020-07-14T14:12:40.249773+00:00 app[web.1]: PermissionError: [Errno 13] Permission denied: './wkhtmltopdf/bin/wkhtmltopdf.exe'
и получаю это на своей веб-странице
Внутренняя ошибка сервера
Сервер обнаружил внутреннюю ошибку и не смог для завершения вашего запроса. Либо сервер перегружен, либо в приложении есть ошибка.
На моем локальном компьютере все работает нормально, но что мне делать, чтобы wkhtmltopdf работал на heroku