2017-05-25 12 views
0

Python Flaskでurl_forを使用してエラーが発生しています。エラーは次のように表示されます。 MissingSchema: Invalid URLurl_forで無効なURL

問題の内容がわかりません。ここに私のコードは次のとおりです。あなたの用法で

@app.route("/", methods=('GET', 'POST')) 
def landing(): 
    form = forms.OptinForm() 
    if form.validate_on_submit(): 
     requests.get(url_for('indoctrination', email=form.email.data, name=form.first_name.data)) 
    return render_template('index.html', form=form) 

答えて

0

url_for/some/exampleのような相対パスを返しています。 requests.getは、完全絶対パス(たとえば、http://example.com/some/path)を想定しています。相対パスの前にベースURLを追加することをお勧めします。

+1

これは正解ですが、 'url_for'は' url_for( 'indoctrination'、...、_external = True) 'のような' _external'キーワードを使って完全なURLを生成することもできます。 [docs](http://flask.pocoo.org/docs/0.12/api/#flask.url_for) – jonafato

+0

'_external = True'で解決しました ありがとうございました。 – freefly0313

+0

@jonafato Cool!前に '_external'を使ったことはありませんでしたが、それは非常に便利ですね!あなたが2つの異なるホスト名を提供するためにFlaskを使用している場合、 '_external'は' localhost'または '0.0.0.0'、またはホスト名などの' SERVER_NAME'を使用しますリクエストがこのルートに入ったのと同じホスト名でこのリクエストを行うことができます。この場合、リクエストからの 'base_url'を相対的な' url_for'パスの前に付加したいと思うでしょう。 @ freefly0313うれしいことですよ! –

関連する問題