你为分模块的Flask应用设计了什么文件夹结构?
我正在尝试使用Flask,之前用的是Django,我真的很喜欢Flask。不过我遇到了一个问题。我看了Flask的文档,里面提到了一些关于大型应用的内容,讲了如何把项目分成多个包,每个包都有自己的静态文件夹和模板文件夹,还有自己的视图模块。问题是,我找不到合适的方法把模型放到这些包里,使用SQLAlchemy和Flask扩展。虽然在交互式提示符下创建表是没问题的,但在代码里用就出错了。所以我想知道更有经验的Flask开发者是怎么解决这个问题的。
2 个回答
5
其实我找到了我想要的东西。不是在主文件的 __init__
里导入 flaskext.sqlalchemy,而是在模型文件里导入。之后再在主文件的 __init__
里导入这个模型,然后用 db.init_app() 来启动它,并传入应用的配置。虽然这不如 @Sean 的帖子里展示的框架灵活,但这正是我想知道的。如果我不是在随便尝试的话,可能会选择那个框架。
13
虽然我还没准备好正式发布,因为我还在不断完善这些示例,但你可能会从我正在开发的 flask-skeleton 项目中受益。我厌倦了每次都要从头开始搭建Flask网站,所以我开始做一个完整的示例项目,里面用到了我认为最好的做法。虽然我还没有添加任何单元测试,但这应该足够让你开始使用了。如果你有任何反馈或建议,请告诉我。