学习Flask之搭建项目

项目目的,最终效果是可以正常登录,对订单的增删查改,还有商家的一些基础资料录入,数据库是用mysql 数据库

项目结构是这样的,

项目结构是根据官方文档,使用工厂模式来开发

 wsgi.py 的内容:

from epay import create_app  

app = create_app()

 从epay 的__init__.py文件夹中,导入create_app 的方法

__init__.py 的内容如下:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from epay.extendsions import db,login_manager,bootstrap,csrf


from epay.config import mysql_config
from epay.blueprints.admin import admin_bp
from epay.blueprints.auth import auth_bp
import pymysql



def create_app():
    app = Flask(__name__)
    app.secret_key = 'Innalhamdulillah.nahmaduhu.taalanastainubihi.wanastagfiruh!'
    register_extensions(app)
    register_blueprints(app)
    return app

def register_extensions(app):
    # 初始化 db
    app.config['SQLALCHEMY_DATABASE_URI'] = mysql_config['DIALECT']+'://'+mysql_config['USERNAME']+':'+mysql_config['PASSWORD']+'@'+mysql_config['HOST']+':'+mysql_config['PORT']+'/'+mysql_config['DATABASE']+'?charset=utf8'
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
    # 初始化mysql
    pymysql.install_as_MySQLdb()

    db.init_app(app)
    login_manager.init_app(app)
    bootstrap.init_app(app)
    csrf.init_app(app)




def register_blueprints(app):
    # app.register_blueprint(blog_bp)
    app.register_blueprint(admin_bp, url_prefix='/admin')
    app.register_blueprint(auth_bp, url_prefix='/auth')





先看create_app(),首先初始化 Flask,然后再调用register_extensions()和register_blueprints() 两个方法,最后返回变量app,wsgi.py 就是接收了这个app,再解释register_extensions()和register_blueprints()

register_extensions():负责初始化需要的扩展,之后会单独说插件这一块

register_blueprints():简单说,就是初始化controller,并划分模块 ,可以见到现在是划分了admin,和auth 的。admin 负责后台,auth 负责后台的登录

 好了,写到这里在,其实在这个时候,在__init__.py 再加上这样的代码,都可以输出Hello Wrold

@app.route('/')#路由路径
def hello_world():
   return 'Hello World'

之后说的blueprint 和 插件,我都在这个目录结构的基础上解释的,之后有时间我会将源码上传

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值