flask 启动后接受不到请求(postman: Could not get any response
There was an error connecting to :...
代码结构:
server/
run.py
server/
__init__.py
log.py
views/
__init__.py
container.py
run.py:
from docker_server import app
if __name__ == '__main__':
app.run(port=8082, debug=True)
__init__.py under server dir:
from flask import Flask
app = Flask(__name__)
from server.views import container
app.register_blueprint(container.mod)
container.py:
mod = Blueprint('container', __name__, url_prefix='/container')
@mod.route("/", methods=['GET'])
def container_test():
logger.debug("container test")
return None
stackoverflow上也提过:
http://stackoverflow.com/ques...
你在创建mod
的时候指定了url_prefix='/container'
,访问的时候这样看看http://localhost:8082/container/
。而且使用蓝图的时候还要指定views
所在目录,官网的例子(如果指定,可能找不到这个蓝图):
from flask import Blueprint, render_template, abort
from jinja2 import TemplateNotFound
simple_page = Blueprint('simple_page', __name__,
template_folder='templates')
@simple_page.route('/', defaults={'page': 'index'})
@simple_page.route('/<page>')
def show(page):
try:
return render_template('pages/%s.html' % page)
except TemplateNotFound:
abort(404)
另外,蓝图推荐这样使用:
app/
your_blueprint/
__init__.py
views.py
__init__.py
app/__init__/py
:
from flask import Flask
def create_app():
app = Flask(__name__)
from .your_blueprint import your_blueprint as main_blueprint
app.register_blueprint(main_blueprint)
return app
app/your_blueprint/__init__.py
:
from flask import Blueprint
main = Blueprint('main', __name__)
from . import views
你是在运行flask的机器上去访问的吗?如果不是,按照你的代码一定是无法访问的。就像stackoverflow中的答案一样,想要从其它机器访问,你需要配置一个启动参数,否则flask默认只监听127.0.0.1上的请求。