Flask使用“ OnClick”运行python脚本:误报激活

问题描述 投票:0回答:1

在我的app.py中,我像这样添加了python功能(以跟踪事件):

app = flask.Flask(__name__)
app.jinja_env.globals.update(track_event=track_event)

def track_event(category, label, action):
   do="something"

在我的HTML代码中,我这样添加它:

<a href="somewebsite.web" 
       class="button button-rounded tright button-large topmargin-sm"
       onclick="{{ track_event(category='outbound',action='stackoverflow', 
       label='somewebsite.web') }}"
>

在这一点上,我提供了一个清单,因此添加了用不同的URL(而不是somewebsite.web)多次截断的这种HTML。

这是我的问题:每次加载网站时,都不会激活“ onclick”,而是在浏览器完成加载后立即激活所有onclick事件。

这些函数按预期工作,但是除非有人实际单击,否则不应调用该函数。有没有人有类似的经历?

我是在Python还是HTML中出错?

python flask jinja2
1个回答
0
投票

在评论中您提到,在呈现的HTML中,您有onclick="None"。问题是你的功能

def track_event(category, label, action):
    do="something"

不返回任何内容。 Jinja将执行您要求的操作,并将该函数的返回值放入模板中。如果您return None(这是隐式的:如果您从不显式返回,则默认为return None)。

© www.soinside.com 2019 - 2024. All rights reserved.