Flask——server.py引入其他python文件

Posted 星辰°

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask——server.py引入其他python文件相关的知识,希望对你有一定的参考价值。

问题

  今天用Flask写web项目时出现了一个问题:AttributeError: ‘function‘ object has no attribute ‘**********‘(函数名已用*代替),即在server.py中引用其他python文件失败,不能调用其他python文件的函数。

解决方法

  我一开始是在server.py开头引入的python自定义模块,然后在注册路由的函数中使用自定义的函数,结果一直报AttributeError。百度搜索未发现解决方法(也可能是我的搜索关键词没用对?)。后来尝试将引入自定义模块的语句放到注册路由的函数中、调用函数的语句前,发现正常运行。示例如下:

@app.route(/check)
def check():
    expression = request.args.get("expression", default="")
    import check
    result = check.checkExpression(expression)
    return result

结论

  在哪里使用就在哪里引入。

  server.py如果要使用其他python文件的函数,可以在调用自定义函数的语句上一行引入自定义模块。如果在注册路由的函数外引入自定义模块,在函数内调用自定义函数会报错,暂时还不知道有没有解决方法。

 

以上是关于Flask——server.py引入其他python文件的主要内容,如果未能解决你的问题,请参考以下文章

flask-websocket(1)

flask - 1

django基础篇

flask + ngrok - 重定向不起作用

linux命令

在没有端口的情况下运行 Flask