【问题标题】:to retrieve values of multiple radio buttons and form fields in views.py django在views.py django中检索多个单选按钮和表单字段的值
【发布时间】:2015-08-29 16:20:32
【问题描述】:

我想在 django 的 views.py 中多次接收表单中生成的表格的单选按钮值。

我的模板文件类似于:

<form action = "/appName/accept" method = "POST"
    {% for l in list %}
        <table>
        <tr>
        <td>{{l.value}}</td> 
        </>tr
        </table>  
        <input type = "radio" name = "acceptance" value ="accept">Accept</input>
        <input type = "radio" name = "acceptance" value ="reject">Reject</input>
     {% endfor %}
     <input type ="submit" name = "submit">SUBMIT</input>
</form>

这意味着渲染的页面看起来像:

值 1

  • 接受

  • 拒绝

值 2

  • 接受
  • 拒绝

等等 提交按钮

一旦用户单击提交按钮,我想收集每个值的所有单选按钮的值以及表格行,但是如何在 views.py 中做到这一点?我知道,如果我们给无线电输入提供通用名称,比如这里的“接受”,那么一次只会选择其中一个。请帮忙。我是这个概念和 django 的新手。

【问题讨论】:

  • 如果您的表单是使用 django 定义的,请阅读 this 以为给定的表单字段启用正确类型的小部件

标签: python django forms radio-button form-fields


【解决方案1】:

你最好使用 django 表单集 https://docs.djangoproject.com/en/1.8/topics/forms/formsets/

如文档中所述:

from django.forms.formsets import formset_factory
from django.shortcuts import render_to_response
from myapp.forms import ArticleForm

def manage_articles(request):
    ArticleFormSet = formset_factory(ArticleForm)
    if request.method == 'POST':
        formset = ArticleFormSet(request.POST, request.FILES)
        if formset.is_valid():
            for form in formset:
                form.cleaned_data...
                # here you can access each radio button


    else:
        formset = ArticleFormSet()
    return render_to_response('manage_articles.html', {'formset': formset})

manage_articles.html 模板可能如下所示:

<form method="post" action="">
    {{ formset.management_form }}
    <table>
        {% for form in formset %}
        {{ form }}
        {% endfor %}
    </table>
</form>

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2021-08-04
    • 2020-10-11
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多