python - Flask中register_blueprint注册Blueprint的疑问
PHP中文网
PHP中文网 2017-04-17 18:01:00
0
1
478

Flask版本:0.10.1
这个是一个

from flask import Blueprint

bapp = Blueprint('admin', __name__)

@bapp.route('/login')
def login():
    return 'login'

这个是运行的方法

#coding:utf-8
from flask import Flask
from entity import DBUtuis, User
from flask.templating import render_template
from web.controller import admin

app = Flask(__name__)
# 这个地方有疑问,不知道问什么一定要是admin.bapp
# 看到的代码例子上都是直接用模块名称就可以的
app.register_blueprint(admin.bapp, url_prefix='/admin')

#设置调试为true,可以不用重启既可以
app.debug = True

@app.route('/index')
def index():
    return render_template('index.html', name='huangteng')

if __name__ == "__main__":
    app.run()

疑问是必选要:

app.register_blueprint(admin.bapp, url_prefix='/admin'),

否则就报错:

'module' object has no attribute 'name'

问题是看教程上都是直接

app.register_blueprint(admin, url_prefix='/admin')

这样用的,我哪里写错了吗?

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(1)
刘奇

사실 이는 flask의 문제는 아니지만, 최종적으로는 여전히 Python의 import의 문제입니다.

질문의 주요 목적은 register_blueprint 이 함수가 허용하는 매개변수를 이해하는 것입니다. 당연히 BluePrint의 객체여야 하므로 다음과 같이 입력합니다. 으아악

이 다음으로 변경되었습니다.

으아악

여기의

admin 객체가 아닌 모듈입니다. 튜토리얼에서 직접 사용할 수 있습니다. BluePrint 으아악

이 원래 admin 객체이기 때문입니다. 여기에 변수를 직접 전달하려면 다음과 같이 작성해야 합니다. Blueprint 으아악

다음 두 문장을 수정했습니다.

으아악

그렇습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!