当前位置:   article > 正文

使用蓝图组建flask项目_使用蓝图组织一个小型falsk web

使用蓝图组织一个小型falsk web

Flask本身是一个轻量级的框架,所以使用很方便,我们要学习的是flask蓝图,组建企业级项目。

但是如果需求很小,使用flask开发,完全没有必要遵照蓝图模式,搭建一堆文件。

 

1、配置文件 E:\code\flask\CompanyProject\config.py

  1. import os
  2. # basedir = os.path.dirname(__file__)
  3. # print(basedir)
  4. class Config:
  5. DEBUG = False
  6. SQLALCHEMY_DATABASE_URI = "sqlite:code/flask/CompanyProject/app/flask.db"
  7. SQLALCHEMY_TRACK_MODIFICATIONS = True
  8. SECRET_KEY = os.environ.get("SECRET_KEY") or 'hard to guess string'
  9. @staticmethod
  10. def init_app(app):
  11. pass
  12. class Test(Config):
  13. DEBUG = True
  14. SQLALCHEMY_DATABASE_URI = "sqlite:code/flask/CompanyProject/app/test.db"
  15. class Run(Config):
  16. pass
  17. config={
  18. "test":Test,
  19. "run":Run
  20. }

2、初始化文件 E:\code\flask\CompanyProject\app\__init__.py

  1. from flask import Flask, render_template
  2. from flask_sqlalchemy import SQLAlchemy
  3. from config import config
  4. db = SQLAlchemy()
  5. def create_app(config_name):
  6. app = Flask(__name__)
  7. app.config.from_object(config[config_name])
  8. config[config_name].init_app(app)
  9. db.init_app(app)
  10. from .main import main as main_blueprint
  11. app.register_blueprint(main_blueprint)
  12. return app

3、蓝图的初始化文件 E:\code\flask\CompanyProject\app\main\__init__.py

  1. from flask import Blueprint
  2. main = Blueprint("main", __name__)
  3. from . import views, errors

 

4、注册蓝图 E:\code\flask\CompanyProject\app\__init__.py

5、编写视图文件 E:\code\flask\CompanyProject\app\main\views.py

  1. from . import main
  2. @main.route("/")
  3. def index():
  4. return "hello world"

6、启动脚本编写 E:\code\flask\CompanyProject\manage.py

  1. import os
  2. from app import create_app, db
  3. from app.models import *
  4. from flask_script import Manager, Shell
  5. from flask_migrate import MigrateCommand, Migrate
  6. # os.getenv 获取环境变量,获取不到返回None
  7. app = create_app(os.getenv("FLASK_CONFIG") or "test")
  8. manager = Manager(app)
  9. migrate = Migrate(app, db)
  10. def make_shell_context():
  11. return dict(app=app, db=db, User=User, Type=Type)
  12. def create_db():
  13. db.create_all()
  14. print("create success")
  15. manager.add_command("shell", Shell(make_context=make_shell_context()))
  16. manager.add_command("db", MigrateCommand)
  17. if __name__ == '__main__':
  18. manager.run()

 

7、命令行相关操作

启动命令行,切换到当前项目所在的目录,并且激活环境

1、python manage.py runserver 启动服务

2、Python manage.py db init 实例化数据库

3、Python manage.py db migrate -m "initial migration" 生成数据库语句

4、Python manage.py db upgrade 同步数据库

5、Python manage.py shell 交互命令

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/509771
推荐阅读
相关标签
  

闽ICP备14008679号