【问题标题】:How to get radio button value from FORM in view.py file如何从 view.py 文件中的 FORM 获取单选按钮值
【发布时间】:2019-12-16 17:56:19
【问题描述】:

我想在 view.py 文件中获取单选按钮的值,我正在获取除单选按钮值之外的所有值

我尝试使用 POST 和 GET 方法获取数据,但两者都不适合我 //HTML代码

<label class="col-12 col-sm-2">Rating</label>
<input type="radio" class="form-control radio-inline col-sm-1 mt-1" name="radoption" value=" 1">1
<input type="radio" class="form-control radio-inline col-sm-1 mt-1" name="radoption" value=" 2" checked>2
<input type="radio" class="form-control radio-inline col-sm-1 mt-1" name="radoption" value=" 3">3
<input type="radio" class="form-control radio-inline col-sm-1 mt-1" name="radoption" value=" 4">4
<input type="radio" class="form-control radio-inline col-sm-1 mt-1" name="radoption" value=" 5">5

//查看.py代码

if request.method == "POST":
    radoption = str(request.POST["radoption"])
    return redirect("/")

/rating 处的类型错误 User() 得到了一个意外的关键字参数“radoption”

【问题讨论】:

    标签: python html django view


    【解决方案1】:

    做这样的事情。

    forms.py

    from django import forms
    
    NUMS= [
        ('one', 'one'),
        ('two', 'two'),
        ('three', 'three'),
        ('four', 'four'),
        ('five', 'fives'),
    
        ]
    class CHOICES(forms.Form):
        NUMS = forms.CharField(widget=forms.RadioSelect(choices=NUMS))
    

    views.py

    from .forms import CHOICES
    
    def name_of_url_goes_here(request):
        form = CHOICES(request.POST)
    
        if form.is_valid():
            selected = form.cleaned_data.get("NUMS")
            print(selected)
    
    
        return render(request, 'name_of_page.html', {'form':form})
    

    html

    <form class="form-inline" method='POST' action="" enctype='multipart/form-data'>{% csrf_token %}
    
      {{form.NUMS}}
    
    
    </form>
    

    【讨论】:

      【解决方案2】:

      整个事情都是倒着做的。发表你的观点、表格和 html,我会告诉你正确的方法。基本上,您不应该以相同的方式命名所有 5 个字段,单选按钮应该是一个字段,其中包含 form.py 中给出的选项。然后你会调用 form.cleaned_data.get("radoption") 来获取 views.py 中的信息 ...

      【讨论】:

      • 是的,我知道我不能将 radoption 命名为所有 5 个字段,但如果我创建了 form.py 文件会做什么
      • 没问题,兄弟。如果您还有任何问题,请给我留言! :)
      • 我尝试过,但它确实有效,我收到所有值但值为 NONE
      • 您在 html 页面上看到这 5 个值了吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多