了解 Flask 项目结构


当前第2页 返回上一页

我在根目录中创建一个文件夹,并将其命名为 om_core ,然后在奇中创建两个新的文件夹 api 和 data.。

api 文件储应用程序逻辑和路由。例如,我在 api 中创建了一个名为 user 的文件夹。

在 user 文件夹生成两个名为 init.py 和 controllers.py 的文件,我们其他的 Api 层也会这样。controllers.py (控制器文件)应该像这样:

1

2

3

4

5

6

7

8

9

from flask import Blueprint, jsonify, request

from MYAPP.data.models import db, User

user = Blueprint('user', __name__)

@user.route('/', methods=['GET'])

def get_users():

    return jsonify({ "message": "Hi user :)"})

@user.route('/<int:id>', methods=['GET'])

def users(id):

    return jsonify({ "id": id })

我总是会使用蓝图。

data 文件夹存储一些模型。例如,我创建了一个名为 models.py 的文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

from flask_sqlalchemy import SQLAlchemy

from MYAPP import app

# We didn't pass app instance here.

db = SQLAlchemy()

class User(db.Model):

    """ Model for user management """

    id = db.Column(db.Integer, primary_key=True)

    email = db.Column(db.String(100), unique=True)

    password = db.Column(db.String(100))

    name = db.Column(db.String(100))

    surname = db.Column(db.String(100))

    active = db.Column(db.Boolean(), default=True)

    created_at = db.Column(db.DateTime, default=db.func.now())

    updated_at = db.Column(db.DateTime, default=db.func.now())

    def __init__(self, email, password, name, surname, active, created_at, updated_at):

        self.email = email

        self.password = password

        self.name = name

        self.surname = surname

        self.active = active

        self.created_at = created_at

        self.updated_at = updated_at

让我们回到 om_core 文件夹。我创建了一个名为 init .py 的文件以将 Api 层用作端点。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

from flask import Flask

from flask_cors import CORS

from config import BaseConfig

from config import configure_app

app = Flask(__name__)

from MYAPP.api.user.controllers import user

""" Corst settings will be here. We maybe use this endpoint later. """

cors = CORS(app, resources={

    r'/api/*': {

        'origins': BaseConfig.ORIGINS

    }

})

configure_app(app)

app.url_map.strict_slashes = False

app.register_blueprint(user, url_prefix='/api/users')

在上述代码中,我已经使用了 Flask-CORS 来允许来自不同来源的请求。如果您不想允许来自不同来源的请求,则不需要使用。

整体项目结构的屏幕截图

截图如下:

Snipaste_2020-06-13_09-58-29.png

推荐教程:《Python教程》

以上就是了解 Flask 项目结构的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

spyder和Python有什么关系

基于Python的2d图库matplotlib的图例、标题和标签介绍

Python的random怎么用

Python中怎么代码换行

Python如何判断是否为数字字符串

Python是解释型语言么

怎么用Python打开文件

Python如何查找字符串的长度?(代码示例)

Python实现支付宝当面付(扫码支付)功能

Python有eval函数吗

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




打赏

取消

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

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

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

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

评论

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