请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

当把book.py里面的web放到init里面后,app\__init__.py里面为何还是使用from app.web.book import web?

正在回答 回答被采纳积分+3

4回答

SakuraGaara 2019-04-18 23:29:15

最后app/__init__.py的registry_blueprint应该这么写,不然会让学生产生误导

不过事实结果表明,id(app.web.web) 和id(app.web.book.web)是一样的,只是规范和程序员强迫症的问题

def registry_blueprint(app):
    # from app.web.book import web
    from app.web import web
    app.register_blueprint(web)


0 回复 有任何疑惑可以回复我~
提问者 danzzzz 2018-11-09 20:32:08
# 这个是web下的init文件
from flask import Blueprint

web = Blueprint('web',__name__)

from app1.web import book
from app1.web import user


0 回复 有任何疑惑可以回复我~
提问者 danzzzz 2018-11-09 20:27:06
# 这个是app下面的init文件

def create_app():

    app = Flask(__name__)

    app.config.from_object('app1.secure')

    app.config.from_object('app1.setting')

    register_blueprint(app)

    return app


def register_blueprint(app):

    from app1.web.book import web

    app.register_blueprint(web)


0 回复 有任何疑惑可以回复我~
7七月 2018-11-08 04:27:51

可以贴一下代码说明吗?感觉不应该还是这种方式导入的。

0 回复 有任何疑惑可以回复我~
  • 提问者 danzzzz #1
    def create_app():
        app = Flask(__name__)
        app.config.from_object('app1.secure')
        app.config.from_object('app1.setting')
        register_blueprint(app)
        return app
    
    def register_blueprint(app):
        from app1.web.book import web
        app.register_blueprint(web)
    
    老师你好,这个是app的init文件,就是这样子也可以运行程序,所以我就觉得很奇怪。
    回复 有任何疑惑可以回复我~ 2018-11-09 20:22:17
  • 提问者 danzzzz #2
    不好意思,代码乱了。
    def create_app():
        app = Flask(__name__)
        app.config.from_object('app1.secure')
        app.config.from_object('app1.setting')
        register_blueprint(app)
        return app
    
    def register_blueprint(app):
        from app1.web.book import web
        app.register_blueprint(web)
    回复 有任何疑惑可以回复我~ 2018-11-09 20:24:40
  • 老师 我也发现了这个问题 刚开始不理解  第一次向你提问过 但是没有回答我的这个困惑  回过头来撸第二遍的时候还是不理解  是不是因为flask新版本的问题呢 老师可以帮忙解答一下嘛
    回复 有任何疑惑可以回复我~ 2018-12-03 13:55:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信