获取控制器中的复选框值

时间:2012-05-02 13:56:53

标签: django

我有一个模板,可以创建一个文本输入字段和一个复选框。取消选中该复选框后,文本字段将被禁用并清除,当它被选中时,它已启用,并且用户可能已输入或未输入。在我的控制器中,我需要区分2 取消选中复选框的情况,选中复选框但文本字段为空。我可以获取文本字段的值,但不能获取复选框的值。有办法做到这一点吗?我用谷歌搜索了这个,我看到它在这里被问过几次,但是这些解决方案似乎都不适合我。

2 个答案:

答案 0 :(得分:1)

request.POST.get('my_checkbox_field')

P.S。在Django中,它们被称为“视图”而不是控制器。

更新(根据评论)

我把“控制器”称为“视图”,因为Django没有控制器的概念,而且它们最接近视图。如果情况并非如此,请务必纠正我。鉴于此,至少的所有基于功能的视图都需要request参数。如果您使用的是基于类的视图,则request只是存储在视图对象中,因此您只需将其修改为self.request即可。我建议你花些时间仔细阅读一下这些文档,因为这几乎是一个很难理解的文章。

答案 1 :(得分:1)

你在找这个吗?

def myview(request):
    form = MyForm()

    if request.method == 'POST':
        form = MyForm(request.POST)

        if form.is_valid():
            checkbox = request.POST.get('my_checkbox', False) # will be True if checked

            if checkbox:
                # check textfield content
            else:
                # do something else

            return render_to_response(template, kwvars, context_instance=RequestContext(request))