请教分享一下flask一般项目的结构如何组织?

请问群里有没有大大分享一下flask一般项目的结构如何组织嘛? 看了教程和一些文档。但是感觉对于小/中/大型的项目并没有明确的最佳实践。

1.比如db对象一般用什么方式来给到全局使用。 2.蓝图对于一个小型的社区网站有没有必要使用。 3.如果使用蓝图粒度应该怎么划分,比如以豆瓣网这种结构为例,把用户中心,小组,广播,相册这种粒度的功能划分到单独的app里,类似django的方式是否合适?

等等。

多多益善,求站里各位大大解惑。

阅读 16.4k
1 个回答

1.比如db对象一般用什么方式来给到全局使用 可以参照下这个项目的结构: https://github.com/ScriptFan/ScriptFan.com/tree/dev
或者这个
https://github.com/laoqiu/pypress

2.蓝图对于一个小型的社区网站有没有必要使用.
只是你不是只有寥寥数个请求,那就有必要,Blurprint 可以很好的规划你的结构.

3.blueprint划分
如果你的应用已经复杂到像豆瓣那样了,那分割成一个个 app 还可以,如果没有到那程度,使用我给你的参考网站的结构就完全够用了.

部署时自然不会使用 manage.py 了

参考 uliweb 的 wsgi_handler.py

import sys, os

path = os.path.dirname(os.path.abspath(__file__))
if path not in sys.path:
    sys.path.insert(0, path)

from uliweb.manage import make_application
application = make_application(project_dir=path)

这样一来,你需要的 application 就好了,而 make_application 里面就包含了类似 runserver 中的初始化等(scriptfan 还在开发,并未添加这样的函数)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题