Flask,Python错误:在纯python上显示真实列表,在html中显示内存地址

时间:2019-01-10 21:57:28

标签: python-3.x flask

当我运行代码时,它会以纯python的形式显示项目的完整列表,但是当我将其放在html中时,它会向我显示内存地址

我已经对此进行了研究,找不到任何东西, 希望你们能帮上忙。 我正在尝试制作纸牌游戏(阶段10)

/views.py

def CreateDeck():
    global deck
    counter = -1
    deck = []

    # add the regular cards:
    for getl in range(1, 12):
        for klr in range(1, 5):
            counter = counter + 1
            deck.append(card())
            deck[counter].setcard(getl, klr)

    # create wilds:
    for n in range(1,9):
        counter = counter + 1
        deck.append(card())
        deck[counter].setcard(13,0)

    # create skips
    for m in range(1,5):
        counter = counter + 1
        deck.append(card())
        deck[counter].setcard(14,0)



    # shulffle the deck:
    shuffle(deck)
CreateDeck()

@app.route('/',methods = ['POST', 'GET'])
def gfhg():
    result1 = ','.join(map(str, deck))
    result1 = list(result1)
    print(list(result1))
    return render_template("player1.html", result=deck)

/templates/player1.html     

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <h1>{{ result }}</h1>
</body>

</html>

我希望它在html页面上显示“卡片”列表。相反,我得到这个: 图片: https://imgur.com/0V5Qexc 来自纯Python的图像: https://imgur.com/AzGjFR2

1 个答案:

答案 0 :(得分:0)

您应该为卡类实现__str__()方法。

当您将str()函数映射到calls a __str__() method of that element引擎盖下的牌组python的每个元素时。但是,默认情况下,类不会实现__str__()方法,因此python会转而使用__repr__()方法来输出<class_name object at 0x0000>