2017-02-20 65 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')