Как base64 кодировать строку html_string - PullRequest
0 голосов
/ 11 ноября 2018

AIM

Я пытаюсь закодировать folium хороплет как StringIO. Я основываю свой ответ на запросе . Я проверил ответы здесь и здесь .

ERROR

AttributeError: 'bytes' object has no attribute 'encode'

код

views.py

def get_choropleth(self, request):
    # make choropleth ('m')
    html_string = m.get_root().render()
    f = StringIO(html_string)
    choropleth = base64.b64decode(f.read())
    choropleth = choropleth.encode('utf8') # causing error
    return {'choropleth':choropleth}

1 Ответ

0 голосов
/ 11 ноября 2018

После некоторых проб и ошибок у меня сработало следующее:

РЕШЕНИЕ

def get_choropleth(self, request):
        # make choropleth ('m')
        html_string = m.get_root().render()
        encoded_bytes = html_string.encode('utf-8')
        encoded_bytes = base64.b64encode(encoded_bytes)
        encoded_bytes = encoded_bytes.decode('utf8') # decode the b64 bytes for Unicode
        choropleth = encoded_bytes
        return {'choropleth':choropleth}
...