为什么request.args返回空的ImmutableMultiDict?

时间:2019-03-21 12:17:13

标签: flask arguments url-for

我正在尝试获取从url_for()函数传递的参数。但是它一直向我返回一个空的ImmutableMultiDict。下面是我的代码。

hosts.html

<p>
  <a href="{{ url_for('svc_instance_deploy',
                       service_id=service_id,
                       host_id=host_id) }}">
  <span class="label label-success">Install Software</span>
  </a>
</p>

view.py

@app.route('/deploy/<service_id>', methods=['GET', 'POST'])
@app.route('/deploy/<service_id>/<host_id>/', methods=['GET', 'POST'])
@login_required
def svc_instance_deploy(service_id, host_id=0):
    print(request.args)

当单击hosts.html上的链接时,浏览器和服务器端均不会出错。除了它向我输出一个空的ImmutableMultiDict。

为什么我无法获得url_for()函数传递的参数?我该怎么办?预先感谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。

结果是我使用了错误的property对象Request。在视图函数中获取参数时,应使用request.view_args而不是request.args