您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django / Python使用shell(os.system / Popen)转换PDF,而不是在生产中工作

5b51 2022/1/14 8:20:33 python 字数 3138 阅读 464 来源 www.jb51.cc/python

我在CLI上使用libreoffice将一些文档转换为Django中的PDF. 这在我看来(也在模型的save方法中尝试过): outdir = '/'.join([settings.MEDIA_ROOT, 'pdf']) command = ['libreoffice', '--headless', '--convert-to', 'pdf', '-outdir', outdir, form.i

概述

这在我看来(也在模型的save方法中尝试过):

outdir = '/'.join([settings.MEDIA_ROOT,'pdf'])
command = ['libreoffice','--headless','--convert-to','pdf','-outdir',outdir,form.instance.upload.path]
stdout,stderr = subprocess.Popen(command).communicate()

我也尝试了以下代替subprocess.Popen:

os.system("libreoffice --headless --convert-to pdf --outdir %s %s" % (outdir,instance.upload.path))

然后我检查出来:

# quick check new file exists                                                                                                                                                
with open("%s/%s.pdf" % (outdir,os.path.splitext(instance.upload.name)[0])): pass

当我通过网站运行它们只是不起作用 – 不生成PDF文件.

事情是:这两种方法都适用于我的本地环境以及它们所在的函数是从$python manage.py shell调用

问题只出在生产中.

> Django 1.4
> Python 2.7.3
>服务器版本:Apache / 2.2.22(Ubuntu)服务器内置:2012年2月13日01:51:50(Rackspace)

请注意,我以为我可能会遇到这个错误Popen does not work anymore with apache/wsgi and python 2.7.2?

虽然格雷厄姆的工作方式如下(我将其添加到我的apache2.conf中)似乎没有改变任何东西.

WSGIApplicationGroup %{GLOBAL}

我的系统管理员技能虽然不是很好,但我可能做错了,而且我完全难过,任何有关其他事情的建议或指示都可以尝试或解决.

总结

以上是编程之家为你收集整理的Django / Python使用shell(os.system / Popen)转换PDF,而不是在生产中工作全部内容,希望文章能够帮你解决Django / Python使用shell(os.system / Popen)转换PDF,而不是在生产中工作所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶