python - flask 启动后接受不到请求
大家讲道理
大家讲道理 2017-04-18 09:22:15
0
2
497

flask 启动后接受不到请求(postman: Could not get any response
There was an error connecting to http://...:...

代码结构:

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...

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
PHPzhong

你在創建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
Ty80

你是在運行flask的機器上去訪問的嗎?如果不是,按照你的程式碼一定是無法存取的。就像stackoverflow中的答案一樣,想要從其它機器訪問,你需要配置一個啟動參數,否則flask預設只監聽127.0.0.1上的請求。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板