本人对于flask网站结构的学习正处在模块到蓝本之间的一个过程,要写的网站并不大,用模块也能解决,但是未免稍嫌混乱,于是走向了这个局中的结构--包
举个栗子,栗子的结构如下图:
1.首先来了解一下这个.flaskenv。这个文件我还不知道怎么让它自动生成,是我手动创建的,在文件系统里并不可见,里面的内容如下:
如你所见,这是用来记录环境变量的,其中必填项就是这个FLASK_APP,用来确认哪一个包才是主包。在这指定main,需要注意的是static和templates文件等都应该放在main包中,因为项目的相对根路径是指向了这里。如果有其他配置文件也建议都放在这里面统一进行读取。
2.__init__.py文件是包不可或缺的文件,main的内容如下:
这里进行app的创建,同时引入了其他两个包,login和sayhello,我们接下来以sayhello为例讲解非主包该如何构建:
3.需要注意的是这里的settings.py文件是放在main包文件夹下,然后这里的app应该来自于main包的导入(第三行),视图views放到最后导入。
基本就是这些。如有问题欢迎讨论