TypeError:'str'对象不可调用Flask Redirect

时间:2018-06-08 04:56:26

标签: python flask

我无法让Flask重定向!

我一直在

File "/Users/kyle.calica-steinhil/Code/wcp2018/wcp18/app/app.py", line 32, in slackRedirect
    return redirect(url)
TypeError: 'str' object is not callable

我不知道为什么这不起作用。我在redirect()中传递一个字符串我很确定它是什么。

我还尝试了'"

代码:

slackAPI='https://slack.com/oauth/authorize'
slack_client_id='XXXXXXXXXXXXXXXX'
scope='bot'
redirect='http://localhost:5000/'

@app.route('/auth')
def slackRedirect():
    url = slackAPI+'?client_id='+slack_client_id+'&scope='+scope+'&redirect_uri='+redirect
    return redirect(url)

2 个答案:

答案 0 :(得分:0)

您正在重新定义redirect的含义。 redirect将客户端重定向到目标位置,因此只需将redirect重命名为其他内容,然后执行以下操作:

redirect_url='http://localhost:5000/'

答案 1 :(得分:0)

您遇到的问题是命名冲突。您的模块级变量redirect实际上会覆盖您尝试使用的flask.redirect()方法:

redirect='http://localhost:5000/'

将此redirect变量重命名为其他内容,您的问题将得到解决。假设您已在模块中正确导入flask.redirect方法,那就是

from flask import  redirect