Flask开发-留言板(1)——包组织代码——2021.5.12

一丶程序包组件和结构

在这里插入图片描述

二丶配置文件(sayhello/settings.py)

import os
import sys

from sayhello import app

# SQLite URI compatible
WIN = sys.platform.startswith('win')
if WIN:
    prefix = 'sqlite:///'
else:
    prefix = 'sqlite:'

dev_db = prefix + os.path.join(os.path.dirname(app.root_path), 'data.db')

SECRET_KEY = os.getenv('SECRET_KEY', 'secret string')
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URI', dev_db)

os.path.dirname(app.root_path)获取上层目录
app.root_path属性存储程序实例所在的路劲
数据库URL和密钥都会首先从环境变量获取

三丶创建程序实例(init.py)

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# from flask_bootstrap import Bootstrap
# from flask_moment import Moment


app = Flask('sayhello')
app.config.from_pyfile('settings.py')
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True

db = SQLAlchemy(app)
# bootstrap = Bootstrap(app)
# moment = Moment(app)

from sayhello import views, errors, commands

启动程序时,首先被执行的是构造文件__init__,py
但注册在程序实例上的各种处理程序(views.py errors.py)均放在其他脚本中,如果不被执行,就不会被注册在程序中,程序就无法正常运行
为了使相关模板的函数和程序实例关联起来,需要在最后一行导入相关的模块
构造函数中导入模块,不需要注明模块路劲,直接名称导入即可

四丶FLASK_APP环境变量

给.flaskenv中的环境变量重新赋值

FLASK_APP=sayhello
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blockchain_KT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值