DataFrame中的链接(烧瓶)

时间:2018-10-17 21:29:58

标签: python html pandas dataframe flask

我目前正在尝试在DataFrame的某一列中创建按钮,然后使用.to_html在网页中将其打印为DataTable。我已经通过在to_html函数中使用escape = False来使按钮可单击,但是我无法使链接转到正确的位置。

下面是我目前的尝试,我很确定这与引号有关。

def add_url(data):
    data['second name'] = "<a href='{{ url_for('player', player_id=1) }}'>Click This Button Here</a>"

感觉就像我已经尝试了600万个引号组合,但是当我查看生成的html时,它似乎总是带有随机的引号,而不是我想要的引号,如下所示。

HTML Code

这是我应该连接的函数,如果我将代码直接放入.html文件中,它会完美工作,只是无法从DataFrame中的.py文件中使它工作。

@app.route('/player/<int:player_id>')
def player(player_id):
    data = load_df('Data/players_pickle/'+str(player_id)+'.pickle')
    return render_template('player.html', data=data.to_html(escape=False))

它最终应该看起来像这样DataTable

任何帮助都将不胜感激,因为我为此付出了太长时间的努力,感觉就像我一次又一次地尝试相同的组合!

更新:

我继续尝试使用不同的引号组合,但是当它从.py转换为html时,它必须与编码有关。

点击链接后,我在地址栏中看到的所有内容都是

http://127.0.0.1:5000/%7B%7B%20url_for('player',%20player_id=1)%20%7D%7D

它显然是用unicode代替空格,花括号等,无论我尝试什么,它都会继续这样做。可能是因为它在Dataframe中,并且使用to_html()使它保持应有的状态吗?

1 个答案:

答案 0 :(得分:0)

尝试:

data['second name'] = '''<a href="{{ url_for('player', player_id=1) }}">Click This Button Here</a>'''