小编alp*_*787的帖子

子进程在docker容器中不起作用

我真的疯了,拔掉我的头发,因为我似乎无法解决这个特殊的问题.

所以这就是问题:我有两个容器:Django和芹菜.用户上传word文档,芹菜工作者将该word文档转换为pdf并上传到s3存储桶.我正在用libreoffice --headless它来转换它.因此,用户将文件发送到API端点,并将word文档保存在名为originalcelery 的文件夹中,convert_office_to_pdf.delay该文件需要转换文件并将其放入另一个文件夹中converted.除芹菜功能外,一切都按预期工作.这是代码的样子:

import subprocess    
def convert_office_to_pdf(original_file):
    ws = websocket.WebSocket()
        ws.connect('ws://web:8000/ws/converter/public/')
    #how the command will look like
        print('libreoffice --headless --convert-to pdf original/{} --outdir ./converted'.format(original_file))
        subprocess.call('libreoffice --headless --convert-to pdf original/{} --outdir ./converted'.format(original_file), shell=True)
     ws.send(json.dumps({
            'message': '{}.pdf'.format(pure_file_name), 
            'progress': 75}))
        upload_file_to_s3(pure_file_name, 'pdf', ws)
Run Code Online (Sandbox Code Playgroud)

但是,函数get已执行且没有任何反应.这是输出docker-compose

web_1       | [2018/03/22 22:57:52] HTTP GET /converter/ 200 [0.06, 172.17.0.1:32788]
web_1       | [2018/03/22 22:57:52] HTTP GET /static/css/normalize.css 304 [0.02, 172.17.0.1:32788]
web_1       | [2018/03/22 22:57:52] WebSocket HANDSHAKING /ws/converter/public/ [172.17.0.1:32798]
web_1 …
Run Code Online (Sandbox Code Playgroud)

python django celery libreoffice docker

6
推荐指数
1
解决办法
1307
查看次数

使用 javascript fetch 将数据发布到 django rest 框架

我正在尝试使用 javascript fetch 将数据发布到我的 django rest 框架。我已经为我的模型设置并喜欢了 DRF,并从后端设置了所有内容。我使用邮递员应用程序来确保“获取”、“发布”等都在实习中工作。但是,现在我在使用 javascript 发布数据以使用 fetch 发布数据时遇到问题。我想将数据添加到我的文章模型中,该模型具有“标题”、“标签”、“内容”、“background_image”和发布文章的用户。

这是我的代码的样子

data = JSON.stringify({
    headline: "Testing",
    tag: "Testing",
    background_image: "Testing",
    content: "Testing",
    user: 1
})
fetch(
            "http://127.0.0.1:8000/api/v1/articlesapi/",
            {
                method: "post",
                headers: {"Authorization":"Token ed73db9bf18f3c3067be926d5ab64cec9bcb9c5e"},
                body: data
            }
 ).then(function(response) {
    return response.json();
}).then(function(data) {
    console.log("Data is ok", data);
}).catch(function(ex) {
    console.log("parsing failed", ex);
})
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到错误消息parsing failed TypeError: Failed to fetch。有谁知道我做错了什么?

javascript api django rest django-rest-framework

5
推荐指数
1
解决办法
2175
查看次数