问题描述
尝试启动Flask时收到错误消息.
Traceback (most recent call last):
File "./run.py", line 3, in <module>
from app import app
File "/home/xxxxxx/xxxx.xxxxxxx.com/ClientTracker/app/__init__.py", line 13, in <module>
app.register_blueprint(admin)
File "/home/xxxxx/xxxxx.xxxxxxx.com/ClientTracker/env/local/lib/python2.7/site-packages/flask/app.py", line 65, in wrapper_func
return f(self, *args, **kwargs)
File "/home/xxxxx/xxxxx.xxxxxxx.com/ClientTracker/env/local/lib/python2.7/site-packages/flask/app.py", line 958, in register_blueprint
if blueprint.name in self.blueprints:
AttributeError: 'function' object has no attribute 'name'
Run Code Online (Sandbox Code Playgroud)
这是从实现蓝图的更简单的层次结构迁移.我正在拆分前端和管理面板的功能.
我一步一步地建造了这个,并且双方都很好.开始迁移(功能和路线).移动一些代码后,我开始收到一条错误消息(基本上与上面相同,但不同的行).
故障排除
码
#ClientTracker/run.py
#!env/bin/python
from app import app
app.run(host='0.0.0.0', port=8080, debug=False)
Run Code Online (Sandbox Code Playgroud)
#ClientTracker/app/__init__.py
# Import flask and template operators
from flask import Flask, render_template
# Define the WSGI application object
app = Flask(__name__)
# Import a module / component using its blueprint handler variable (mod_auth)
#from app.mod_auth.controllers import mod_auth as auth_module
from app.admin.views import admin
from app.client.views import client
# Register blueprint(s)
app.register_blueprint(admin)
app.register_blueprint(client)
Run Code Online (Sandbox Code Playgroud)
#ClientTracker/app/admin/views.py
from flask import render_template, request, Blueprint
from app import app
import MySQLdb
import datetime
admin = Blueprint(
'admin',
__name__,
url_prefix='/admin',
template_folder='templates',
static_folder='static'
)
@admin.route('/')
def admin():
return "ok"
Run Code Online (Sandbox Code Playgroud)
我没有想法.
Per*_*pus 11
好吧,好像似乎发生了,我花了一个小时看,另外15分钟写了一个问题然后在我发帖后,我找到了答案.
我发现了一个有答案的帖子(https://github.com/pallets/flask/issues/1327).
基本上,您不能拥有与Blueprint名称相同名称的函数名称.现在似乎显而易见,但肯定让我感到困惑了一段时间.
在考虑它时,我原来的"工作"状态有一个虚函数名称,用于'/'.当我回滚时,我没有回滚得足够远.
替换def admin():使用def admin1():(将在prod中更好地解决这个问题)并且一切正常.
我希望这篇文章可以帮助别人.请随时发表评论.与往常一样,该团队总是比个人更聪明.最后,感谢您阅读这篇文章.:-)
归档时间: |
|
查看次数: |
3148 次 |
最近记录: |