想问一下大家,flask无法访问
怎么解决啊?
点开之后是这样的:
给你定义的a方法加上路由
@app.route('/')
def a():
return 'aaaa'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
不知道你这个问题是否已经解决, 如果还没有解决的话:bug这一块主要产生在python 中 import导包这一块,先看application中的详细目录:
看一下model文件:
这里需要从app.py导入db对象,app是项目主文件(运行封装到了manage.py),所以用指令运行是这里导包不会报错!
再看view文件:
问题就出在从models里导入模型类会报错,当然上图你看到的是我解决后的
看下面这两种导入方式:
from application.models.user.User import User
from …models.user.User import User
通过尝试,这两种导入方式都会报错:“没有这个模块”或者“找不到父包”,
对于这种,我找了好久解决方案,以下方式可解决:
你在上面的app.py中是否看到了这段代码:
# 将application目录添加到项目路径,解决views里的文件导入models里的模型类时找不到models模块路径的问题
import sys,os
sys.path.append(os.getcwd() + "/application")
# print(sys.path)
这段代码可以解决这个问题,我们将application这个目录路径添加到这个项目路径中,然后在视图中导入模型时:
from models.user.User import User
直接从models目录开始就可以了,并且要注意,你在其他文件中导入这个模型类时也要用这种导入,不要变,变了flask-sqlalchemy就会报错,你可以理解为整个项目中这个模型类已经导入了,你换个路径就会重新导入,所以会报错(还有种解决方法就是在模型类中加个什么字段,支持重新加载,如果你遇到了这个问题可以百度查查,我的建议就是统一模型类的导入即可)。
没加路由啊,建议找一篇基础的flask教程,一看就懂了