У меня есть сообщение об ошибке initial_value должно быть str или None, а не байты , и я не знаю, как это исправить. Я сталкиваюсь с этим после изменения на python 3.
Более того, я изменяю импорт на from io import StringIO
Вот мой код:
def render_to_pdf(template_src, context_dict):
template = get_template(template_src)
context = context_dict
html = template.render(context)
result = StringIO()
pdf = pisa.pisaDocument(StringIO(html.encode("utf-8")), dest=result, encoding="utf-8")
Вот Traceback:
Environment:
Request Method: GET
Request URL: http:///pdf/11479/
Django Version: 2.2.6
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bootstrap3',
'bootstrap_themes',
'intranet',
'crispy_forms',
'fm',
'dal',
'dal_select2',
'django_crontab',
'django_tables2',
'django_filters']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "/var/www/vhosts/intranet.health-nutrition.gr/health_nutrition/intranet/views.py" in pdf_view
598. 'fpa_total':fpa_total(),
File "/var/www/vhosts/intranet.health-nutrition.gr/health_nutrition/intranet/views.py" in render_to_pdf
542. pdf = pisa.pisaDocument(StringIO(html.encode("utf-8")), dest=result, encoding="utf-8")
Exception Type: TypeError at /pdf/11479/
Exception Value: initial_value must be str or None, not bytes
Есть идеи, как это исправить?