如何捕获选择值Django modelform?

时间:2018-06-06 01:09:26

标签: django django-models django-forms django-templates django-views

我不知道如何从ModelForm中捕获select值。在模板上:

<div class="form-group">
  <label for="{{formulario.cod_sucursal.id_for_label}}"> 
{{formulario.cod_sucursal.label}}</label>
   <select name="{{formulario.cod_sucursal.name}}" id="{{formulario.cod_sucursal.id_for_label}}" class="custom-select form-control">
                                        <option value='0'>Selección de Sucursal</option>
                                        {% for opciones in formulario.cod_sucursal %}
                                        {{opciones}}
                                        {% endfor %}

                                        </select>
                                 </div>

由于篇幅较长,故意破坏表格 渲染是:

<form action="/tablaventas/recibo" method="post">

                            <input type='hidden' name='csrfmiddlewaretoken' value='0w3Y3WLmT6rbN488ohtG36LUMcS2t6XrhDu3X26V7fecg35kMkOzyv5kNXTRFu1Z' />

                                <div class="form-group">
                                        <label for="encabezado-cod_sucursal">Cod sucursal</label>
                                        <select name="encabezado-cod_sucursal" id="id_encabezado-cod_sucursal" class="custom-select form-control">
                                        <option value='0'>Selección de Sucursal</option>

                                        <option value="600">Pilgrim</option>

                                        <option value="200">Mandiola</option>

                                        <option value="100">Fch</option>


                                        </select>
                                 </div>

views.py是:

def tablaventas_recibo(request):
if request.method=='POST':
    formu=VentasFormSet(request.POST, prefix='detalle') # formset 
    encabezado=tablaVCPFormulario(request.POST, prefix='encabezado') # Formulario
    print(encabezado.errors)
    if formu.is_valid() and encabezado.is_valid():
        codigo_sucursal=encabezado.cleaned_data

        co = formu.cleaned_data[1]
        print(codigo_sucursal)
        return HttpResponse('gracias')


return HttpResponse(encabezado.errors)

...而ModelForm是:

class tablaVCPFormulario(ModelForm):
    class Meta:
    model=VentasContrapuntoPilgrim
    fields='__all__'
    widgets = {
       'titulo': TextInput,
       'edicion': TextInput,
       'fecha_contable':SelectDateWidget(attrs={'class': 'custom-select'}),
       'cod_sucursal':SelectMultiple(choices=codigos_sucursal),
    }
    exclude = ('saldo','inicial','isbn',)
    prefix='encabezado'

退出告诉我cod_sucursal是None(它不能捕获值),但是在html中进入模板。我不知道,我做错了什么或者我错过了什么因为没有抓住选择值而没有发布post方法。

0 个答案:

没有答案