0

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

4

2 回答 2

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))
于 2012-08-03T06:53:03.443 回答
1
request.POST.get('my_checkbox_field')

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

更新(基于评论)

我将“控制器”表示为“视图”,因为 Django 没有控制器的概念并且它们最接近视图。如果不是这样,请务必纠正我。鉴于此,所有基于函数的视图至少都需要一个request参数。如果您使用的是基于类的视图,则request只是存储在视图对象上,因此您只需将其修改为self.request. 我建议您花更多时间彻底阅读文档,因为这几乎是有据可查的最低限度的理解内容。

于 2012-05-02T14:23:28.227 回答