为什么 request.args returns 空 ImmutableMultiDict?
Why request.args returns empty ImmutableMultiDict?
我正在尝试获取从 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
上的link时,浏览器端和服务器端都没有报错。除了它向我打印一个空的 ImmutableMultiDict。
为什么我无法获取 url_for()
函数传递的参数?我怎么能那样做?提前致谢。
我解决了这个问题。
原来我使用了错误的 property
of Request
对象。当我们在视图函数中获取参数时,我们应该使用request.view_args
而不是request.args
。
我正在尝试获取从 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
上的link时,浏览器端和服务器端都没有报错。除了它向我打印一个空的 ImmutableMultiDict。
为什么我无法获取 url_for()
函数传递的参数?我怎么能那样做?提前致谢。
我解决了这个问题。
原来我使用了错误的 property
of Request
对象。当我们在视图函数中获取参数时,我们应该使用request.view_args
而不是request.args
。