Flask_GoogleMap, показывающий изображение base64 в информационной строке

GoogleMaps ( https://github.com/rochacbruno/Flask-GoogleMaps) для отображения изображений на карте Google.

Изображение извлекается из базы данных MySQL и преобразуется в кодировку base64. Однако я сталкиваюсь с такими ошибками:

TypeError: Объект типа 'Decimal' не поддерживает сериализацию в формате JSON.

Я пытался найти решение, но безуспешно. Может кто-нибудь дать мне несколько советов?

Спасибо!

Соответствующий код в Python3 выглядит следующим образом:

@app.route('/fullmap')
def fullmap():
    db = MySQLdb.connect(user='root', password='', host='127.0.0.1', database='userprofile')
    query = ("SELECT lat, lng, user_avatar FROM user")
    cursor = db.cursor()
    cursor.execute(query)

    for (lat, lng, user_avatar) in cursor:
        icon = '//maps.google.com/mapfiles/ms/icons/green-dot.png'
        b64_content = base64.b64encode(user_avatar)
        dataurl = 'data:image/jpeg;base64,' + b64_content.decode()
        srcurl = "<img src='" + dataurl + "' />"
        markers.append({'icon': icon, 'lat': lat, 'lng': lng, 'infobox': srcurl})

    fullmap = Map(
        identifier="fullmap",
        varname="fullmap",
        style=(
            "height:100%;"
            "width:100%;"
            "top:0;"
            "left:0;"
            "position:absolute;"
            "z-index:200;"
        ),
        lat=37.3,
        lng=127.0,
        markers=markers
    )
    return render_template(
        'example_fullmap.html',
        fullmap=fullmap,
        GOOGLEMAPS_KEY=request.args.get('apikey')
    )

0 ответов

Другие вопросы по тегам