1. 新建项目目录xxx,并创建虚拟环境
2. 安装开发中使用的依赖基础模块
pip install flask==0.12.4 -i https://pypi.douban.com/simple
pip install flask-redis -i https://pypi.douban.com/simple
pip install flask-session -i https://pypi.douban.com/simple
pip install flask-script -i https://pypi.douban.com/simple
pip install flask-mysqldb -i https://pypi.douban.com/simple
pip install flask-sqlalchemy -i https://pypi.douban.com/simple
pip install flask-migrate -i https://pypi.douban.com/simple
1. 创建项目目录结构:
项目根目录/
├── application/ # 项目主要逻辑代码保存目录,个个app
| |__init__ #加载配置,连接app启动
| |ext包 #__init连接app和otm 映射
│ │ ├ dev.py # 开发阶段的配置文件【本地开发者使用】
│ │ ├ prod.py # 生产阶段的配置文件【线上服务器使用】
| | ├ __init__.py # 项目公共配置文件
│ ├── __init__.py # 项目初始化文件
| |templates----------#存放模板文件
| settings/ # 项目配置存储目录
├── manage.py # 项目的终端管理脚本文件
2.app/__init__.py
from flask import Flask
import setting
from app.ext import db
from app.user.view import user_bp
def count_tion():
#创建app对象
app = Flask(__name__)
app.config.from_object(setting.Config) # 加载配置
db.init_app(app) # 将app对象与db关联
app.register_blueprint(user_bp) #将蓝图对象绑定到app上
return app
3. manage.py
from flask_migrate import Migrate,MigrateCommand
from flask_script import Manager
from app import count_tion, db
from app.user import models
app = count_tion()
manager = Manager(app=app) #关联app 进行命令得到管理和使用
#命令工具
migrat = Migrate(app=app,db =db)
manager.add_command('db',MigrateCommand)
if __name__ == '__main__':
manager.run()
4.settings.py
class Config:
DEBUG = True
# mysql+pymysql://user:password@hostip:port/databasename
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@127.0.0.1:3306/flaskblog'
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_ECHO = True
# secret_key
SECRET_KEY = 'kdjklfjkd87384hjdhjh'
class DevelopmentConfig(Config):
ENV = 'development'
class ProductionConfig(Config):
ENV = 'production'
DDEBUG = False