2017-02-20 7 views
1

私が取り組んでいるアプリケーションは、静的HTMLページとAPIエンドポイントからのコンテンツを要求し、結果のバックエンドで両方のコンテンツタイプをサポートする必要があります。セロリの結果バックエンドHTML&JSON

セロリー結果バックエンドで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 Results Backendがデータを受け入れます。

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