gpt4 book ai didi

python - 如何在 Flask 中使用 url_for 中的变量?

转载 作者:行者123 更新时间:2023-11-30 23:26:19 25 4
gpt4 key购买 nike

所以,我正在使用 Flask 创建一种待办事项列表,但我遇到了一个问题。

我的一个主页,当您单击所需的任务类型时,会执行此操作

          <a href={{url_for('add_task_type', task_type=type)}}>{{task_types[type]}}</a>

此转发至,

http://127.0.0.1:5000/add_task_type?task_type=1

这应该会将您发送到以下内容:

@app.route('/add_task_type', methods=['GET', 'POST'])
def add_task_type():
all_tasks = Task.query.all()
number = len(all_tasks)
task_db = Task(id = number, type=task_type, creator = 235026, time=20)
db.session.add(task_db)
db.session.commit()
return redirect('/index')

但我收到一个名称错误:未定义全局名称“task_type”。为什么没有定义类型?网址里不是有吗?这是向其他页面传递变量的错误方式吗?

最佳答案

根据您的网址:

http://127.0.0.1:5000/add_task_type?task_type=1

task_type是一个GET参数,存在于request中,您可以在 add_task_type View 中通过以下方式访问它:

request.args.get("task_type")

因此将 add_task_type View 更改为:

from flask import request


def add_task_type():
...
task_type = request.args.get("task_type")
task_db = Task(id = number, type=task_type, creator = 235026, time=20)
...

关于python - 如何在 Flask 中使用 url_for 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22598340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com