2017-02-20 72 views
1

我正在处理的应用程序从静态HTML页面和API端点请求内容,并且需要支持结果后端中的两种内容类型。Celery结果后端HTML&JSON

有没有一种方法可以在Celery Results Backend中同时使用HTML和JSON?我曾尝试设置CELERY_ACCEPT_CONTENT = ['text/plain', 'application/json'],并且在所有HTML结果上抛出错误is not JSON serializable

+0

你试过CELERY_ACCEPT_CONTENT = ['json','html']? – postoronnim

+0

html不是一个有效的内容类型,并且使用'['application/json','text/html']'作为原始消息中的注释不起作用。用错误消息更新问题。 – digitaldavenyc

回答

1

我有一个解决方案。将HTML解码为UTF-8,它将以JSON序列化格式进行解码,并且Celery结果后端将接受数据。

@task 
def request(url): 
    response = requests.get(url) 
    return response.content.decode('utf-8')