2017-08-01 3 views
0

こんにちはFlaskのアプリケーションは以下のように構成されており、青写真の設定に問題があります。私が何をするにしても、彼らはurl_prefixをセットアップするだけです。現在は/main/verifyとして動作していますが、小さなアプリであるので、/verifyのようなエンドポイントが大好きです。興味深いのは/ルートで動作させることができましたが、同じ設定では/verifyでは機能しませんでした。私は今はかなり無責任です。私はそれをそのまま生きることができますが、私は本当に何が間違っているのだろうかと思います。ここで接頭辞なしでFlaskの青写真が動作しない

はコードです:私として

__init__.py

from flask import Flask 
from flask_sqlalchemy import SQLAlchemy 
from config import config 


db = SQLAlchemy() 


def create_app(config_name): 
    app = Flask(__name__) 
    app.config.from_object(config[config_name]) 
    config[config_name].init_app(app) 

    db.init_app(app) 

    from main import main 
    app.register_blueprint(main) 

    return app 

main/__init__.py

from flask import Blueprint 
main = Blueprint('main', __name__, url_prefix='/main') 
from . import views 

main/views.py

from flask import request, jsonify 
from . import main 


@main.route('/') 
def index(): 
    return "Hello world" 


@main.route('/verify') 
def verify(): 
    url = request.args['url'] 
    query = request.args['query'] 

    return jsonify({ ... }) 

答えて

1

プレフィックスなしでblueprintを登録していないのを見てください。あなたは接頭辞なしでエンドポイントを登録する必要がある場合は、Blueprint

main = Blueprint('main', __name__, url_prefix='/main') 
# main endpoints(with prefix /main)... 
@main.route('/') 
def index_main(): 
    return "Hello world from /main/" 
# routes without any prefix 
default = Blueprint('default', __name__) 

@default.route('/') 
def index(): 
    return "Hello world from /" 

app = Flask(__name__) 
app.register_blueprint(main) 
app.register_blueprint(default) 

の新しいインスタンスを作成する必要があり、この情報がお役に立てば幸いです。

関連する問題