【问题标题】:How can set the boolean value in django如何在 django 中设置布尔值
【发布时间】:2021-07-22 11:52:19
【问题描述】:

我试图在选中复选框时设置布尔值 True,但是当我选择它时显示错误

    failed["“>” value must be either True or False."]

而且当我设置密码对象没有剥离功能时它也会显示错误

模型/py

 from django.db import models
 from django.contrib.auth.models import AbstractUser

 class Auth_User(AbstractUser):
    is_vendor = models.BooleanField(default=False)

查看.py

class Sign_up(TemplateView):
   template_name = 'Sign-up.html'

   def get(self, request, *args, **kwargs):
        return render(request, self.template_name)

   def post(self, request):
        try:
           data = self.request.POST.get
           user = Auth_User(
               username=data,
               email=data,
               is_vendor=data
           )
           user.set_password(data('password').strip())
           user.save()
           return render(request, 'home.html')
        except Exception as e:
           return HttpResponse('failed{}'.format(e))

HTML

 <label for="is_vendor">is_vendor
        <input type="checkbox" name="is_vendor">
    </label><br>

【问题讨论】:

    标签: python django django-models django-views


    【解决方案1】:

    假设您没有在此视图上使用 Form 类,您的代码应如下所示:

    def post(self, request):
        data = self.request.POST
        user = Auth_User(
            username=data.get('username'),
            email=data.get('email'),
            is_vendor=data.get('is_vender'),
        )
        user.set_password(data.get('password'))
        user.save()
        return render(request, 'home.html')
    

    如果需要这些字段,您将需要检查每个输入的值。或者您使用一个表单类在帖子中为您执行此操作。请参阅https://docs.djangoproject.com/en/3.2/topics/class-based-views/generic-editing/ 了解更多信息。

    【讨论】:

    • is_vendor 在选中复选框时获取值“on”我想要“True”
    猜你喜欢
    • 2017-06-01
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    • 2019-11-09
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多