当我在脚本中定义并调用函数时,它的效果很好。当我从相邻文件导入它时,出现错误:“ UnboundLocalError:分配前引用了本地变量'data'”
我曾尝试在IF语句中包括“ return(json_normalize(data))”,但未返回任何内容。
正在导入的函数。
def get_query(query_num):
if __name__ == '__main__':
params = {'p_param': query_num}
query_id = query_num
data = get_fresh_query_result('https://redash.domain.io', query_id, api_key, params)
return(json_normalize(data))
get_fresh_query_result导入时工作正常。
预期结果是Pandas df。但我却收到错误消息!
答案 0 :(得分:3)
由于if语句检查当前模块是否为__main__
,所以发生错误。仅当函数在主脚本中时才是这种情况。删除if
语句,即可从其他位置导入该模块。
答案 1 :(得分:0)
糟糕,我在发布后马上就知道了。完全摆脱了IF语句,并获得了:
function reply(){
$("#message").html("Sending.....");
$("#reply").attr("value",tinymce.get('reply-proxy').getContent());
$.ajax( {
url: '{{route("reply_conversation")}}',
type: 'POST',
data: new FormData( $("#reply_form")[0] ),
现在工作正常。