对于比较小的项目,可以将全部代码写在manage.py文件中,
但是项目比较大的话,全部放在manage.py文件中就显得太杂、太乱了
所以为了方便管理和阅读,我们可以将它向Django一样细分一下每个版块的作用
一、
- 1.创建一个工程文件夹 例如:app
在app目录下创建一个init.py文件,因为我们需要导包
然后就可以自己定义app中的内容
例如: 创建一个 models.py 文件,我们可以在里面定义需要的模型
创建一个views.py 文件,定义视图和路由
(当然这里的命名可以任意命名,只要你高兴就好,但一般需要一个见名知意的比较好...)
在项目目录创建一个requirement.txt文件
在文件中写入需要的库名
flask
flask-script
flask-blueprint
在Terminal中执行下面命令就可以一起安装了
pip insatll -r requirement.txt
- 先来填充manage.py文件的内容
# 导入flask
from flask import Flask
# flask_script
from flask_script import Manager
# 获取方式对象,(就随意)命名为app
app = Flask(__name__)
# 第二步:注册蓝图对象
app.register_blueprint(blueprint=blue, url_prefix='/app')
# 管理flask应用对象
manage = Manager(app)
# 启动
if __name__ == '__main__':
manage.run()
# 启动命令:python manage.py -h 0.0.0.0 -p 80 -d
# -h:IP地址
# -p:端口
# -d:debug模式
- views.py文件
from flask import Blueprint
# 定义蓝图对象
blue = Blueprint('first',__name__)
# 蓝图对象.route(路由)
@blue.route('/hello/')
def hello():
return 'hello Flask'
二、连接数据库
- 1.连接redis
安装并导入redis、flask-session
在manage.py中增加如下配置
# 配置flask-session库,存储数据到redis中
app.config['SESSION_TYPE'] = 'redis'
# 阿里云
app.config['SESSION_REDIS'] = redis.Redis(host='IP地址', port=端口(默认6379), password='密码')
# 本地(一般不需要密码)
# app.config['SESSION_REDIS'] = redis.Redis(host='127.0.0.1', port=6379)
# 初始化配置信息
# 第一种方式
# Session(app)
# 第二种方式
se = Session()
se.init_app(app)
- 连接mysql
安装并导入pymysql(python3.x 中需要手动导入MySQL数据库驱动)
在manage.py中增加如下配置
- 连接mysql
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:数据库密码@IP地址/数据库名'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
网友评论