如何阅读帖子上的复选框值?

Posted

技术标签:

【中文标题】如何阅读帖子上的复选框值?【英文标题】:How to read checkbox value on post? 【发布时间】:2015-04-22 15:13:47 【问题描述】:

我的模板中有一个包含两个复选框的表单。如果用户不选中复选框,则 POST 对象中没有任何内容。如果用户检查它,则 request.POST.get("check1") 返回空字符串。当我创建对象并填充布尔字段时,由于空字符串,它变为 False。

class NewCustomer(View):
    def get(self, request):
        c = 
        c.update(csrf(request))
        return render_to_response("Customer/NewCustomer.html", c)

    def post(self, request):
        customer = Customer.create(request.POST.get("name", ""), request.POST.get("surname", ""),
                                   request.POST.get("phoneNumber", ""), request.POST.get("address", ""),
                                   request.POST.get("sendSms", ""), request.POST.get("sendEmail", False),
                                   request.POST.get("email", False))
        return redirect("GetCustomer", customerId=customer.id)

sendSms 和 sendEmail 是复选框。

class Customer(models.Model):
    Name = models.TextField(blank=False)
    Surname = models.TextField(blank=False)
    PhoneNumber = models.TextField()
    Address = models.TextField()
    SendSms = models.BooleanField(default=True)
    SendEmail = models.BooleanField(default=True)
    Email = models.TextField()
    Created = models.DateField(auto_now_add=True)

    @classmethod
    def create(cls, name, surname, phoneNumber, address , sendSms, sendEmail, email):
        customer = cls(Name=name, Surname=surname, PhoneNumber=phoneNumber
                        , Address=address, SendSms=sendSms, SendEmail=sendEmail
                        , Email=email)
        customer.save()
        return customer

读取复选框并将值分配给我的布尔字段的正确方法是什么?

【问题讨论】:

【参考方案1】:

试试

is_checked = "check1" in request.POST

【讨论】:

以上是关于如何阅读帖子上的复选框值?的主要内容,如果未能解决你的问题,请参考以下文章

使用带有多选复选框的 Ajax 帖子过滤器获取帖子

如何在wordpress插件的自定义元框中保存多个复选框值?

在 Wordpress 中,如何将帖子限制为仅一个类别复选框?

查找Google表格中的所有复选框

MVC 3 从视图、模型中检索复选框值

如何使未选中的复选框值为 0,选中的值为 1?