我正在尝试使用url_for()生成一个将参数传递给Flask视图的url。客户端html看起来像这样:
{% for account in accounts %}
<li class="list-group-item text-link-hover account clickable-panel"
href="{{ url_for('accounts', account_id=account.id) }}"
account-id={{ account.id }}>
<a>{{ account.name }}</a>
</li>
{% endfor %}
这似乎生成了正确的html,结果如下所示:
<li class="list-group-item text-link-hover account clickable-panel selected" href="/accounts/27" account-id="27">
<a>Account Name</a>
</li>
我的烧瓶视图如下所示:
@app.route('/accounts/<int:account_id>')
def accounts(account_id):
print(account_id)
return 'account id is: ' + str(account_id)
现在奇怪的是,当我点击浏览器中的'li'元素时 - 没有任何反应。没有网址更改,烧瓶似乎没有认识到元素被点击完全,即它没有打印任何东西
但是当我手动将网址更改为“accounts / 8”时,烧瓶正确返回“帐户ID为:8”
有人能发现为什么html没有重定向到新的烧瓶视图吗?
答案 0 :(得分:2)
您无法在<li>
元素上设置href。它必须位于<a>
标记内。