質問編集履歴

2 情報の修正

k0908

k0908 score 97

2018/05/21 14:17  投稿

werkzeug.routing.BuildError
werkzeug.routing.BuildError
werkzeug.routing.BuildError: Could not build url for endpoint 'index'. Did you forget to specify values ['user_id']?
とエラーが出る。
```ここに言語を入力
@app.route("/index/<string:user_id>", methods=["GET","POST"])
def index(user_id):
   user, age = get_users(user_id)
   params = {}
   params["user_id"] = user_id
   return render_template("index.html", params=params, user=user, age=age)
@app.route("/data/<string:user_id>", methods=["GET","POST"])
def data(user_id):
   user, age = get_users(user_id)
   params = {}
   params["cap_id"] = user_id
   params["user_id"] = user_id
   name = request.form["name"]
   return redirect('/index/<string:user_id>', code=303, params=params, user=user, age=age)
```
とFlask側にコードを書き、
```ここに言語を入力
<script>
   jQuery.noConflict();
   var $j = jQuery;
   $j(function() {
     $j("#datepicker").datepicker();
     $j("#datepicker").datepicker("option", "showOn", 'button');
     $j("#datepicker").datepicker("option", "buttonImageOnly", true);
   });
</script>
<form name="form1" id="id_form1" action="{{ url_for('data') }}" method="post" enctype="multipart/form-data">
   <p>
   名前:<input type="text" name="name" id=“name” size="40">
   </p>
   <p>
   <button>SEARCH</button>
   </p>
</form>
```
とhtml側にコードを書いた。
indexメソッドにアクセスしようとすると、上記のエラーが出た。
Formの名前フォームに入れた値をindexメソッドの方に反映させようとこのコードを書いた。
```ここに言語を入力
def data(user_id):
   ・
   ・
   ・
   return redirect(url_for('index'))
```
とコードを書いた時も同様のエラーが出た。
どのようにコードを修正すればいいのか?またこの問題は何が問題なのか?
  • Python

    17917 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Flask

    528 questions

    FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

1 情報の修正

k0908

k0908 score 97

2018/05/21 14:16  投稿

werkzeug.routing.BuildError
werkzeug.routing.BuildError
werkzeug.routing.BuildError: Could not build url for endpoint 'index'. Did you forget to specify values ['user_id']?
とエラーが出る。
```ここに言語を入力
@app.route("/index/<string:user_id>", methods=["GET","POST"])
def index(user_id):
   user, age = get_users(user_id)
   params = {}
   params["user_id"] = user_id
   return render_template("index.html", params=params, user=user, age=age)
@app.route("/data/<string:user_id>", methods=["GET","POST"])
def data(user_id):
   user, age = get_users(user_id)
   params = {}
   params["cap_id"] = user_id
   start_date = request.form["name"]
   name = request.form["name"]
   return redirect('/index/<string:user_id>', code=303, params=params, user=user, age=age)
```
とFlask側にコードを書き、
```ここに言語を入力
<script>
   jQuery.noConflict();
   var $j = jQuery;
   $j(function() {
     $j("#datepicker").datepicker();
     $j("#datepicker").datepicker("option", "showOn", 'button');
     $j("#datepicker").datepicker("option", "buttonImageOnly", true);
   });
</script>
<form name="form1" id="id_form1" action="{{ url_for('data') }}" method="post" enctype="multipart/form-data">
   <p>
   名前:<input type="text" name="name" id=“name” size="40">
   </p>
   <p>
   <button>SEARCH</button>
   </p>
</form>
```
とhtml側にコードを書いた。
indexメソッドにアクセスしようとすると、上記のエラーが出た。
Formの名前フォームに入れた値をindexメソッドの方に反映させようとこのコードを書いた。
```ここに言語を入力
def data(user_id):
   ・
   ・
   ・
   return redirect(url_for('index'))
```
とコードを書いた時も同様のエラーが出た。
どのようにコードを修正すればいいのか?またこの問題は何が問題なのか?
  • Python

    17917 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Flask

    528 questions

    FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る