📖
Djangoの__init__.pyで、URL指定してもreturnが返ってこなかった話
現象
Djangoでアプリ開発をしていアプリ開発をしており、下記のようにエンドポイントを指定しているにもかかわらず、curl http://127.0.0.1:5000/search で404が返された。
@app.route("/search", methods=['GET'])
def search_question():
result = jsonify(
{
"search":"search"
}
)
return result
原因
下記のように、create_app関数内でエンドポイントを指定するが、末行のreturn appの外で@app.routeを指定していたことが原因だった。。単純な記載場所ミス
def create_app(test_config=None):
# create and configure the app
app = Flask(__name__)
setup_db(app)
CORS(app)
@app.route("***")
def ***():
return response
@app.route("***")
def ***():
return response
return app
解決方法
上記のように、return app前で記載したところ、エラー解消した。
Discussion