所以,我正在使用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')
但我收到了一个NameError:全局名称&#39; task_type&#39;没有定义。为什么没有定义类型?它不在URL中吗?这是将变量传递给其他页面的错误方法吗?
答案 0 :(得分:3)
根据你的网址:
http://127.0.0.1:5000/add_task_type?task_type=1
task_type
是GET
参数,request
位于add_task_type
,
您可以在request.args.get("task_type")
视图中使用以下方式访问它:
add_task_type
将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)
...
视图更改为:
{{1}}