有没有一种方法可以通过django视图禁用某些复选框?

时间:2020-11-06 18:18:13

标签: python django forms

在MultilpleChoiceField表单中,我试图仅启用某些字段。

例如,客户将在数据库中发送他要搜索的名称,此后,我希望该表格的波纹管显示为选中状态,并且仅启用在其中找到有关客户信息的复选框。

#forms.py
class ResultadoForm(forms.Form):

    TRIBUNAIS_FEDERAIS_CHOICES = (
        ('trf1', 'Tribunal Regional Federal da Primeira Região'),
        ('trf2', 'Tribunal Regional Federal da Segunda Região'),
        ('trf3', 'Tribunal Regional Federal da Terceira Região'),
        ('trf4', 'Tribunal Regional Federal da Quarta Região'),
        ('trf5', 'Tribunal Regional Federal da Quinta Região'),
    )
    tribunais_federais = forms.MultipleChoiceField(
        choices=TRIBUNAIS_FEDERAIS_CHOICES,
        widget=forms.CheckboxSelectMultiple
    )

    TRIBUNAIS_JUSTIÇA_CHOICES = (
        ('tjes', 'Tribunal de Justiça do Espírito Santo'),    
        ('tjmg', 'Tribunal de Justiça de Minas Gerais'),
        ('tjrj', 'Tribunal de Justiça de Rio de Janeiro'),
        ('tjsp', 'Tribunal de Justiça de São Paulo'),

    )

    tribunais_estaduais = forms.MultipleChoiceField(
        choices=TRIBUNAIS_JUSTIÇA_CHOICES,
        widget=forms.CheckboxSelectMultiple
    )

我正试图在views.py中做到这一点:

class ResultadoView(LoginRequiredMixin, FormView, TemplateView):
    template_name = 'resultado.html'
    form_class = ResultadoForm
    success_url = "resultado.html"

    def get(self, request, *args, **kwargs):
        cnpjs = request.session['lista']
        # cnpjs = pd.read_json(cnpjs)
        current_user = request.user
        print(current_user.id, current_user.first_name)
        form = self.form_class(initial=self.initial)
        a = pd.read_html(form.as_table())
        print(a)
        return render(request, self.template_name, {'form': form})

    def post(self, request, *args, **kwargs):
        form = self.form_class(request.POST)
        if form.is_valid():
            return render(request, self.template_name, {'form': form})
        else:
            messages.error(request, 'Usuário/Senha inválidos. Favor tentar novamente.')
        return render(request, self.template_name, {'form': form})

熊猫无法解析HTML代码,如果我打印Forms.value,它会返回一个django对象,我不知道如何更改表单的属性。

0 个答案:

没有答案