Присвоение файла css, расположенного в static, после развертывания сайта

Я развернул проект Django, используя Apache2, все работает хорошо, кроме weazyprint, который создает PDF файл для форм. pdf работал нормально при тестировании и на локальном хосте.

Теперь каждый раз, когда я обращаюсь к pdf, он показывает эту ошибку:

FileNotFoundError at /business_plan/businessplan/admin/info/2/pdf/
[Errno 2] No such file or directory: '/home/ahesham/Portfolio/static\\css\\report.css'

Я пытался изменить \ и добавить его дважды, но это не сработало вот views.py

def admin_order_pdf(request, info_id):
    info = get_object_or_404(Info, id=info_id)
    html = render_to_string('businessplan/pdf.html', {'info': info})
    response = HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = 'filename="order_{}.pdf"'.format(
        Info.id)
    weasyprint.HTML(string=html,base_url=request.build_absolute_uri()).write_pdf(response,
                                           stylesheets=[weasyprint.CSS(settings.STATICFILES_DIRS[0] + '\css\\report.css')], presentational_hints=True)
    return response

Ошибка возникает из-за этого \css\\report.css зная, что файл report.css находится в папке static, а все css и js деплоя сайта работают совершенно нормально и я пробовал python manage.py collectstatic не помогло

Мой вопрос: Что я делаю неправильно и как мне это исправить?

Пожалуйста, сообщите мне, если требуется дополнительная информация

Возможно, Weasyprint был загружен неправильно:

try:

pip install django-weasyprint

источник: https://pypi.org/project/django-weasyprint/

Я тоже столкнулся с такой же ошибкой

'pango_context_set_round_glyph_positions' not found in library

Я думаю, что вы используете weasyprint версии 53.0, которая требует pango версии 1.44.0+

понижение версии weasyprint до 52.5 решило мою проблему, так как для этого не требуется последняя версия pango.

Вы также можете проверить это https://github.com/Kozea/WeasyPrint/issues/1384

Вернуться на верх