質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

1458閲覧

ラジオボタンの値の取得方法について

moto_saka

総合スコア17

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/01/09 21:16

プログラム初心者です。

構成
・ラジオボタン[1,2]
・数字
選択によってshiki1,shiki2を使い出力したいと考えております。

ラジオボタンの1or2によってviews.pyのテンプレートに渡す数字を変えたいのですが、
試行錯誤してもラジオボタンの値が取得できません。
ご教授の程よろしくお願い致します。

html

1<div class="row"> 2 <div class="col-sm"> 3 <h2>追加前</h2> 4 <div class="btn-group btn-group-toggle" data-toggle="buttons" name="time"> 5 <label class="btn btn-light"> 6 <input type="radio" name="options" id="option1" checked>1 7 </label> 8 <label class="btn btn-light"> 9 <input type="radio" name="options" id="option2">2 10 </label> 11 </div> 12 <form method="post"> 13 {% csrf_token %} 14 {% for field in form %} 15 <p> 16 <label>{{ field.label }}</label> 17 {{ field }} 18 </p> 19 {% endfor %} 20 <input type="submit" value="追加" class="btn btn-info" /> 21 </form> 22 </div> 23 </div> 24 <div class="col-sm"> 25 <h2>追加後</h2> 26 <p>{{ new_text }}</p> 27 </div> 28</div>

forms.py

from django import forms from django.core.exceptions import ValidationError widget_numinput = forms.TextInput( attrs={ "class": "form-control", 'type':'number' } ) class TextForm(forms.Form): answer = forms.CharField(label="数字",widget=widget_numinput) # 自動的に呼ばれます。エラーを発生させると簡単に表示できます def clean(self): # djangoもともとのバリデーションを実行してデータを取得 data = super().clean() return data from .models import Post class PostForm(forms.ModelForm): class Meta: model = Post fields = ["title", "body"]

views.py

from django.views.generic.edit import FormView import math from . import forms def shiki1(new): if new <= 20000: new = new elif new >= 20001: new = 40000 return new def shiki2(new): if new <= 20000: new = new*3 elif new >= 20001: new = new*10 return new class Index(FormView): form_class = forms.TextForm template_name = "index.html" # フォームの入力にエラーが無かった場合に呼ばれます def form_valid(self, form): # form.cleaned_dataにフォームの入力内容が入っています data = form.cleaned_data # ここで変換 new_text = int(data["answer"]) new_text = shiki1(new_text) #テンプレートに渡す ctxt = self.get_context_data(new_text=new_text, form=form) return self.render_to_response(ctxt)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問