我使用Apache2部署了一个Django项目,除了为表单创建PDF文件的weazyprint之外,一切都很好。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文件在静态文件夹中,被谴责的站点的所有css和js都运行得非常好,我尝试过python manage.py collectstatic
没有工作。
我不清楚为什么错误显示是由于ubunto或django视图。
更新:
我已尝试将地点更改如下:
stylesheets=[weasyprint.CSS(settings.STATICFILES_DIRS[0] + '/css/report.css')], presentational_hints=True)
这就是出现的错误
function/symbol 'pango_context_set_round_glyph_positions' not found in library 'libpango-1.0.so.0': /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0: undefined symbol: pango_context_set_round_glyph_positions
因此,我搜索了这个解决方案,并尝试下载这个包:
sudo apt-get install libpango1.0-0
也尝试过:
install libpango1.0-dev
但是,没有什么改变
在项目部署时,我还尝试用静态根目录替换静态目录,但我得到了相同的错误function/symbol 'pango_context_set_round_glyph_positions'
如下:
stylesheets=[weasyprint.CSS(settings.STATIC_ROOT + '/css/report.css')]
这是设置文件:
STATIC_URL = '/static/'
#if DEBUG:
# STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
#else:
#STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static' )]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
我正在使用Ubuntu18.04LTS磁盘- Apache2服务器
我的问题:,我做错了什么,我如何解决它?
如果需要更多的信息来帮助修复这个错误,请告诉我。
如果在Django管理中有其他显示PDF的方式,任何反馈都将受到高度赞赏。
发布于 2021-08-18 21:26:39
我也面临着同样的错误
图书馆中找不到
'pango_context_set_round_glyph_positions‘
我想您一定是在使用weasyprint版本53.0,它需要pango版本的1.44.0+
将weasyprint版本降级为52.5解决了我的issue.because,这不需要最近版本的pango。
发布于 2021-08-15 12:07:21
https://stackoverflow.com/questions/68720486
复制相似问题