python创建flask项目02

目录

1.拆分文件配置

2.蓝图


1.拆分文件配置

一个项目只能有一个核心对象,需要将所有的配置文件、程序都绑定到核心对象上去,如果只用一个文件来写项目,项目管理难度就会很大,采用拆分文件分开管理,需要的时候就i调用的方法就大大降低了管理难度同时也提高了安全性。

1.1.在flask项目下创建一个server.py的文件,这是整个程序的入口文件 

1.2在flask项目下创建一个app.py,app.py 创建一个核心对象

from flask import Flask
import os


def create_app(config=None):
    app = Flask(__name__)
    # 导入config包下面的settings模块里面的配置信息
    app.config.from_object('config.settings')

    # 根据系统的环境变量,导入不同的配置文件(提高了项目的保密性)
    if 'FLASK_CONF' in os.environ:
        app.config.from_envvar('FLASK_CONF')

    # 通过传递参数的方式加入配置
    if config is not None:
        # 如果传入的参数是字符串类型的数据
        if isinstance(config,dict):
            # 就将传入的数据追加到config字典里面去
            app.config.update(config)
        # 如果config是以.py结尾的文件,就将文件内容传输到config字典里面去
        elif config.endwith(".py"):
            app.config.from_pyfile(config)
    return app

1.3在server.py中导入核心对象

from app import create_app
mjh_app = create_app()

# 将核心对象命名为mjh_app

 1.3 新建一个condif文件夹,在config下面创建一个settings.py专门用于存放配置

 在settings.py写入我们整个项目的所有配置

# 打开调试模式(不用手动运行项目)
DEBUG = True

# 0.0.0.0  表示所有地址都能访问
HOST = '0.0.0.0'

# 指定端口号为9000,端口号可以随意制定,
# 如果你发现你的端口被占用了就换一个不常用的端口,避免起冲突
PORT = 9000

写好配置后将配置文件绑定到核心对象上面去,server.py


mjh_app.run(
    debug=mjh_app.config['DEBUG'],
    host=mjh_app.config['HOST'],
    port=mjh_app.config['PORT'],
)

1.4绑定路由在server.py里面

# 绑定路由
@mjh_app.route("/")
def index():
    return "studinfo / index"

1.5 运行server.py开启项目,查看是否能访问

from app import create_app

mjh_app = create_app()


# 绑定路由
@mjh_app.route("/")
def index():
    return "studinfo / index"


mjh_app.run(
    debug=mjh_app.config['DEBUG'],
    host=mjh_app.config['HOST'],
    port=mjh_app.config['PORT'],
)

 

2.蓝图

blueprint是一个存储操作方法的容器,用于管理路由,当我们的i项目足够大时,靠核心对象来管理路由会变得困难起来。举个例子:如果我们的项目有100个路由需要管理,如果全靠核心对象来对路由进行管理就非常复杂,而且出现错误很难排查,核心对象要做的事情太多了,如果用蓝图的方法,一个蓝图管理十个路由,核心对象就只需要管理十个蓝图,这样工作过难度一下就降低了很多。

2.1在flask项目下创建一个router目录,router下面创建一个student的目录,student目录下面创建一个stuinfo.py的文件

 2.2在router下面新建一个__init__.py文件,导入router目录的时候会自动调用ini文件。

 2.3 在stuinfo.py文件内,生成看蓝图对象,绑定路由

 2.4 修改以前的路由绑定

删除server.py里面的路由绑定信息

 在app.py核心对象内导入router模块

 2.5 查看运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值