了解 Flask 项目结构


本文摘自php中文网,作者Guanhui,侵删。

序言

首先,我们使用 virtualenv 隔离我的项目。例如,我们要开发一个轮询应用(a poll app)。

1

2

3

4

mkdir poll_app

cd poll_app

virtualenv .

source bin/activate

常用 Python 库

我正在开发需要数据库的应用程序。因此,我总是使用 flask_script 和 flask_migrate 库。我不喜欢 Flask 的 CLI 工具。

Flask-Script: https://flask-script.readthedocs.io/en/latest/

Flask-Migrate: https://flask-migrate.readthedocs.io/en/latest/

和 Django 类似地,我在根文件夹中创建了一个名为 manage.py 的 Python 文件,例如:

1

2

3

4

5

6

7

8

9

10

from MYAPP.data.models import db

from MYAPP import app

from flask_script import Manager

from flask_migrate import Migrate, MigrateCommand

db.init_app(app)

migrate = Migrate(app, db)

manager = Manager(app)

manager.add_command('db', MigrateCommand)

if __name__ == "__main__":

    manager.run()

然后,我们可以对数据可进行如下操作:

1

2

3

4

python manage.py db init # --> init migrations

python manage.py db migrate # --> migrate models

python manage.py db upgrade # --> apply changes

python manage.py db --help # --> :)

主要应用文件

创建新项目时,我在根文件夹中创建了一个文件 app.py,然后它会像这样更改。

1

2

3

4

5

6

7

8

from MYAPP import app

# To do: This place will change later

config = {

    "development": "config.Development"

}

if __name__ == "__main__":

    app.config.from_object(config["development"])

    app.run()

配置文件

我还在根文件夹中创建了一个名为 config.py 的配置文件。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

class BaseConfig(object):

    """ Base config class. This fields will use by production and development server """

    ORIGINS = ["*"] # for api calls

    SECRET_KEY = 'YOUR SECRET KEY'

class Development(BaseConfig):

    """ Development config. We use Debug mode """

    PORT = 5000

    DEBUG = True

    TESTING = False

    ENV = 'dev'

# Currently we only have development config.

# If you have production, you will need to pass it to here.

config = {

    'development': 'config.Development'

}

def configure_app(app):

    """

        App configuration will be here.

        Parameters

        ----------

        app : Flask

            app instance

    """

    app.config.from_object(config['development'])

文件夹结构

阅读剩余部分

相关阅读 >>

Python中有map方法吗

Python中argparse库的基本使用(示例)

Python中浮点数的原理以及运算详解

Python是免费软件吗

matplotlib主要的作用是什么?

Python最长回文串算法

会java再去学Python容易吗

Python脚本文件的扩展名是什么

如何查找Python的安装路径

Python使用matplotlib实现的图像读取、切割裁剪功能示例

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...