前提・実現したいこと
HTML上で数値を受けとって、計算した結果を出したいのですが、計算がうまくいきません。
何か方法はありますか?
発生している問題・エラーメッセージ
unsupported operand type(s) for +: 'NoneType' and 'NoneType'
該当のソースコード
python
1 2def hello_get_query(request): 3 iti = request.GET.get('wan') 4 ni = request.GET.get('tu') 5 6 san = iti + ni 7 8 9 d = { 10 'yon': san, 11 12 } 13 return render(request, 'blog/get_query.html', d)
html
1{% extends "blog/base.html" %} 2 3{% block content %} 4 <form action="" method="get"> 5 <label>数値1:<input type="number" name="wan"></label> 6 <label>数値2:<input type="number" name="tu"></label> 7 <input type="submit" value="送信"> 8 9 </form> 10 11 12 {{ yon }}です。 13 14 15{% endblock %}
試したこと
html
1{% extends "blog/base.html" %} 2 3{% block content %} 4 <form action="" method="get"> 5 <label>数値1:<input type="number" name="wan"></label> 6 <label>数値2:<input type="number" name="tu"></label> 7 <input type="submit" value="送信"> 8 9 </form> 10 11 12 {{ iti }} 13 {{ ni }} 14 15 16{% endblock %}
python
1def hello_get_query(request): 2 iti = request.GET.get('wan') 3 ni = request.GET.get('tu') 4 5 6 d = { 7 'iti': iti, 8 'ni':ni 9 10 } 11 return render(request, 'blog/get_query.html', d)
この場合は変数に1 3 と入力するとそのまま1 3 と出てきます。

それぞれの変数にintやstrをつけたりもしました。
本当はただ計算するだけでなくて、2つの数値から人にあった食べ物を表示する予定です!
wan tu で笑ってしまったのですが one two のほうがよいのでは....
ちなみにiti と ni を出力した結果はどうなっていますか?
きちんと数字を受け取れていますか?
可愛いと思ったのでそうしてました(笑)
そうですね。質問するときは訂正しておいたほうがいいですね。ありがとうございます!
あとaction="" となっていますがpythonの関数にちゃんと送信後返ってきていますか?
iti とni を出力することはできます!
質問文に出力結果を追記して頂けますか?
出力してほしいのはpython 中の iti と ni の値で、
その後の san = iti + ni の san の値も出力してみてほしいです。
同じように検証してみましたが私の環境では問題なく実行できちゃいました
(個人名でちゃってるので隠した方がいいかもしれません)
そうですね、ありがとうございます。初の投稿で色々教えてもらって助かりました!自分でやってたら奇跡的になぜかうまくいったので、今までと違うところが何か考えてみたいと思います!
またよろしくお願いします。
フィールドに入力していない場合にエラーが出ることが分かりました!次はそれをどうにかしたいので、新しく質問をしたのでもしお時間の方、都合がよろしければご教授いただけると嬉しいです。
回答1件
あなたの回答
tips
プレビュー