- 33
- 0
按照《FlaskWeb开发:基于Python的Web应用开发实战》开始学习的,之前运行没问题,最近修改了下modle模型和数据库,后来服务器就跑不起来了。 好像是register_blueprint报错,实在不明白有什么关系,代码检查了也看不出问题。
**Traceback (most recent call last):
File "manage.py", line 8, in <module>
app = create_app(os.getenv('FLASK_CONFIG') or 'default')
File "/home/pi/Documents/myflasky/app/__init__.py", line 37, in create_app
app.register_blueprint(main_blueprint)
File "/home/pi/.local/lib/python2.7/site-packages/flask/app.py", line 64, in wrapper_func
return f(self, *args, **kwargs)
File "/home/pi/.local/lib/python2.7/site-packages/flask/app.py", line 951, in register_blueprint
blueprint.register(self, options, first_registration)
File "/home/pi/.local/lib/python2.7/site-packages/flask/blueprints.py", line 154, in register
deferred(state)
File "/home/pi/.local/lib/python2.7/site-packages/flask/blueprints.py", line 173, in <lambda>
s.add_url_rule(rule, endpoint, view_func, **options))
File "/home/pi/.local/lib/python2.7/site-packages/flask/blueprints.py", line 76, in add_url_rule
view_func, defaults=defaults, **options)
File "/home/pi/.local/lib/python2.7/site-packages/flask/app.py", line 64, in wrapper_func
return f(self, *args, **kwargs)
File "/home/pi/.local/lib/python2.7/site-packages/flask/app.py", line 1046, in add_url_rule
self.url_map.add(rule)
File "/home/pi/.local/lib/python2.7/site-packages/werkzeug/routing.py", line 1215, in add
rule.bind(self)
File "/home/pi/.local/lib/python2.7/site-packages/werkzeug/routing.py", line 687, in bind
self.compile()
File "/home/pi/.local/lib/python2.7/site-packages/werkzeug/routing.py", line 740, in compile
_build_regex(self.is_leaf and self.rule or self.rule.rstrip('/'))
File "/home/pi/.local/lib/python2.7/site-packages/werkzeug/routing.py", line 729, in _build_regex
variable, converter, c_args, c_kwargs)
File "/home/pi/.local/lib/python2.7/site-packages/werkzeug/routing.py", line 695, in get_converter
raise LookupError('the converter %r does not exist' % converter_name)
LookupError: the converter 'init' does not exist**
源码:
app/__init__.py
23 def create_app(config_name):
24 app = Flask(__name__)
25 app.config.from_object(config[config_name])
26 config[config_name].init_app(app)
27
28 bootstrap.init_app(app)
29 mail.init_app(app)
30 moment.init_app(app)
31 db.init_app(app)
32 login_manager.init_app(app)
33 pagedown.init_app(app)
34
35 # 附加路由和自定义错误界面
36 from .main import main as main_blueprint
37 app.register_blueprint(main_blueprint) #注释了就不报错,但是只能404
38
39 from .auth import auth as auth_blueprint
40 app.register_blueprint(auth_blueprint, url_prefix='/auth')
41
42 return app
app/main/__init__.py
1 # -*- coding:utf-8 -*-
2 from flask import Blueprint #创建蓝本,功能和路由一样
3 main = Blueprint('main', __name__) # 实例化蓝本
4
5 from . import views,errors # 一定要在末尾导入,避免循环导入以来
6 from ..models import Permission
7
8 @main.app_context_processor
9 def inject_permissions():
10 return dict(Permission=Permission)
- 共 0 条
- 全部回答
-
暗夜小仓鼠 普通会员 1楼
flask app.register_blueprint报错可能有以下几种情况:blueprint_name未在app.register_blueprint中设置,需要在app注册蓝图的函数中使用。
python @app.route('/') def index(): blueprint_name = 'myblueprint' register_blueprint(blueprint_name) return render_template('index.html')blueprint_name未定义,需要在blueprint_name的值中包含下划线(_)。
python @app.route('/') def index(): blueprint_name = 'myblueprint' register_blueprint(blueprint_name) return render_template('index.html')- 你可能没有正确地使用
blueprint_name。确保在blueprint_name的值中包含了下划线(_)。
python @app.route('/') def index(): blueprint_name = 'myblueprint' register_blueprint(blueprint_name) return render_template('index.html')- 你可能没有正确地在模板文件中引用
blueprint_name。确保在模板文件中正确地引用blueprint_name。
python {% if blueprint_name %} <div class="blueprint"> <!-- Your blueprint content here --> </div> {% endif %}- 你可能没有正确地在
app.register_blueprint中指定blueprint_name。确保在app.register_blueprint中指定正确的blueprint_name。
python @app.route('/') def index(): register_blueprint('myblueprint') return render_template('index.html')- 你可能没有正确地在
app.register_blueprint中指定blueprint。确保在app.register_blueprint中指定正确的blueprint。
python @app.route('/') def index(): register_blueprint('myblueprint') return render_template('index.html')如果你仍然无法解决问题,你可以尝试在不同的浏览器和操作系统上运行你的应用,看看是否也出现同样的错误。这可以帮助你确定问题是否与你的环境有关。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
