我会尽力做到尽可能简洁。
在我的后端,我有一个保存到变量的词典列表。每个字典代表一个来自reddit的帖子,包括分数,网址和标题。
模板将循环遍历此列表,然后将每个键的值返回给用户,如下所示:
<table>
<tr>
{% for x in data[0:5] %}
<td>
{{ x['score'] }}
<a href="{{x['url']}}"> {{ x['title'] }} </a>
<br>
<a href='/add_to_favorites'> Add To Favorites </a>
</td>
{% endfor %}
</tr>
</table>
正如您所看到的,有一个标签链接到我的utils.py上的一个函数,该函数试图将相应的字典保存到数据库中(我有一个代表网址,标题和模型的模型)得分了)。
我觉得好像我的模板没有以正确的方式表示字典,因为我的链接包含html,因为它被按下时我收到404错误(虽然我已经在views.py中定义了这条路线 - & #39; / add_to_favorites&#39;调用我的&#39; save_post&#39;函数)。
def save_post():
data = get_info()
for post in data:
fav= Favorite(title=post.get('title'), url=post.get('url'), score=post.get('score'), user_id=current_user.id)
db.session.add(fav)
db.session.commit()
return redirect(url_for('favorites'))
和
@app.route('/add_to_favorites')
@login_required
def add_to_favorites():
return save_post()
我是以错误的方式来做这件事的吗?如何确保链接/按钮仅与其中包含的html相关联?
这里需要一些正确方向的指导,而不一定是修复它的代码。谢谢