2016-12-12 3 views
1

Flask-Scriptコマンドで同じデータを取得したいと思っています。私はRequestsライブラリを使うつもりだったが、ホストをハードコーディングせずにどのURLを使うのか分からなかった。ビューから返されたJSONデータを取得するにはどうすればよいですか?Flask-ScriptコマンドのFlaskビューへのリクエスト

@manager.command 
def showdata(): 
    data = requests.get('/data-page') # fails, needs full URL 
    print(data.json()) 

答えて

1

コードを読んでいるときに外部からリクエストする必要はありません。 test_clientを使用してリクエストしてください。

c = app.test_client() 
r = c.get('/data-page') 
data = json.loads(r.get_data(as_text=True)) 
print(data) 

理想的には、ビュー内のプレゼンテーションからロジックを抽出し、要求を出すのではなく関数を呼び出します。

# command 
print(get_data()) 

# view 
return jsonify(get_data()) 
関連する問題